materializeJwtVerifier function

JwtVerifier? materializeJwtVerifier({
  1. required bool enabled,
  2. String? issuer,
  3. Iterable<String> audience = const <String>[],
  4. Iterable<String> requiredClaims = const <String>['exp'],
  5. Uri? jwksUri,
  6. Iterable<Map<String, dynamic>> inlineKeys = const <Map<String, dynamic>>[],
  7. Iterable<String> algorithms = const <String>['RS256'],
  8. Duration clockSkew = const Duration(seconds: 60),
  9. Duration jwksCacheTtl = const Duration(minutes: 5),
  10. Duration requestTimeout = const Duration(seconds: 10),
  11. String header = 'Authorization',
  12. String bearerPrefix = 'Bearer ',
  13. Client? httpClient,
  14. JwtClaimsValidator? validateClaims,
})

Materializes a JwtVerifier from config-like fields.

Returns null when enabled is false.

Implementation

JwtVerifier? materializeJwtVerifier({
  required bool enabled,
  String? issuer,
  Iterable<String> audience = const <String>[],
  Iterable<String> requiredClaims = const <String>['exp'],
  Uri? jwksUri,
  Iterable<Map<String, dynamic>> inlineKeys = const <Map<String, dynamic>>[],
  Iterable<String> algorithms = const <String>['RS256'],
  Duration clockSkew = const Duration(seconds: 60),
  Duration jwksCacheTtl = const Duration(minutes: 5),
  Duration requestTimeout = const Duration(seconds: 10),
  String header = 'Authorization',
  String bearerPrefix = 'Bearer ',
  http.Client? httpClient,
  JwtClaimsValidator? validateClaims,
}) {
  final options = materializeJwtVerifierOptions(
    enabled: enabled,
    issuer: issuer,
    audience: audience,
    requiredClaims: requiredClaims,
    jwksUri: jwksUri,
    inlineKeys: inlineKeys,
    algorithms: algorithms,
    clockSkew: clockSkew,
    jwksCacheTtl: jwksCacheTtl,
    requestTimeout: requestTimeout,
    header: header,
    bearerPrefix: bearerPrefix,
  );
  if (options == null) {
    return null;
  }
  return JwtVerifier(
    options: options,
    httpClient: httpClient,
    validateClaims: validateClaims,
  );
}