createTokenPair method
Create a token with its related refresh token.
Implementation
Future<TokenPair> createTokenPair(
String userId, TokenServiceConfigurations configurations) async {
var tokenExpiry =
configurations.tokenExpiryDuration ?? const Duration(days: 365 * 1);
var refreshExpiry = configurations.refreshTokenExpiryDuration ??
const Duration(days: 365 * 2);
final tokenId = Uuid().v4();
String subject = 'user:$userId';
var token = generateJwt(subject, configurations.host, configurations,
jwtId: tokenId, expiryDuration: tokenExpiry);
final refreshToken = generateJwt(
subject, configurations.host, configurations,
jwtId: tokenId, expiryDuration: refreshExpiry);
await _addRefreshToken(tokenId, refreshToken, refreshExpiry);
return TokenPair(token, refreshToken);
}