authenticate method

  1. @override
FutureOr<User?> authenticate(
  1. RequestContext req,
  2. ResponseContext res, [
  3. AngelAuthOptions<User>? options
])

Authenticates or rejects an incoming user.

Implementation

@override
FutureOr<User?> authenticate(RequestContext req, ResponseContext res,
    [AngelAuthOptions<User>? options]) async {
  if (options != null) {
    var result = await authenticateCallback(req, res, options);
    if (result is User) {
      return result;
    } else {
      return null;
    }
  }

  if (_redirect == null) {
    var grant = _createGrant();
    _redirect = grant.getAuthorizationUrl(
      this.options.redirectUri,
      scopes: this.options.scopes,
    );
  }

  await res.redirect(_redirect);
  return null;
}