login method
Future<AuthSuccess>
login(
- Session session, {
- required PasskeyLoginRequest request,
- Transaction? transaction,
Authenticates the client with the given Passkey credentials.
Returns the AuthUser's ID upon successful login.
Implementation
Future<AuthSuccess> login(
final Session session, {
required final PasskeyLoginRequest request,
final Transaction? transaction,
}) async {
return DatabaseUtil.runInTransactionOrSavepoint(session.db, transaction, (
final transaction,
) async {
final authUserId = await utils.authenticate(
session,
request: request,
transaction: transaction,
);
final authUser = await _authUsers.get(
session,
authUserId: authUserId,
transaction: transaction,
);
if (authUser.blocked) {
throw AuthUserBlockedException();
}
return _tokenIssuer.issueToken(
session,
authUserId: authUserId,
method: method,
scopes: authUser.scopes,
transaction: transaction,
);
});
}