TokenDriver.fromConfig constructor
TokenDriver.fromConfig(
- AuthConfig config,
- String providerKey, {
- AuthRepository? repository,
- TokenService? tokenService,
- TokenGenerator? tokenGenerator,
- TokenInvalidationStrategyFactory? strategyFactory,
Factory constructor with config and dependency injection
Implementation
factory TokenDriver.fromConfig(
AuthConfig config,
String providerKey, {
AuthRepository? repository,
TokenService? tokenService,
TokenGenerator? tokenGenerator,
TokenInvalidationStrategyFactory? strategyFactory,
}) {
final provider = config.getProvider(providerKey);
final driverConfig = config.getDriver('token');
final accessSeconds = (provider['access_token_expiry'] ??
driverConfig['access_token_expiry']) as int?;
final refreshSeconds = (provider['refresh_token_expiry'] ??
driverConfig['refresh_token_expiry']) as int?;
final tokenExpiry =
accessSeconds != null ? Duration(seconds: accessSeconds) : null;
final refreshTokenExpiry =
refreshSeconds != null ? Duration(seconds: refreshSeconds) : null;
final tokenServiceInstance = tokenService ?? DatabaseTokenService();
return TokenDriver(
repository: repository,
tokenService: tokenServiceInstance,
tokenGenerator: tokenGenerator,
strategyFactory: strategyFactory ??
TokenInvalidationStrategyFactory(tokenServiceInstance),
providerKey: providerKey,
tokenExpiry: tokenExpiry,
refreshTokenExpiry: refreshTokenExpiry,
config: config,
);
}