authorizationServerMetadata method
The authorization server's metadata: tried at each well-known
location in turn; the document must name issuer exactly.
Implementation
Future<AuthServerMetadata> authorizationServerMetadata(String issuer) async {
for (final url in authorizationServerMetadataUrls(issuer)) {
final json = await _getJson(url);
if (json == null) continue;
if (json['issuer'] != issuer) {
throw OAuthError(
error: 'invalid_issuer',
errorDescription: 'Metadata at $url names issuer ${json['issuer']}, not $issuer');
}
return AuthServerMetadata.fromJson(json);
}
throw OAuthError(error: 'as_discovery_failed', errorDescription: 'No metadata for the authorization server $issuer');
}