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,
);
}