consume method
Implementation
@override
Future<AuthVerificationToken?> consume(
String identifier,
String token,
) async {
if (identifier.isEmpty || token.isEmpty) {
return null;
}
final now = _clock();
_removeExpired(now);
final byDigest = _tokens[identifier];
if (byDigest == null) {
return null;
}
final stored = byDigest.remove(hashOpaqueToken(token));
if (byDigest.isEmpty) {
_tokens.remove(identifier);
}
if (stored == null || !now.isBefore(stored.expiresAt)) {
return null;
}
return AuthVerificationToken(
identifier: identifier,
token: token,
expiresAt: stored.expiresAt,
metadata: stored.metadata,
);
}