getPkceCodeVerifier method
Retrieves the PKCE code_verifier
parameter from a RequestContext
, or throws.
Implementation
Future<String> getPkceCodeVerifier(RequestContext req,
{bool body = true, String? state, Uri? uri}) async {
var data = body
? await req.parseBody().then((_) => req.bodyAsMap)
: req.queryParameters;
var codeVerifier = data['code_verifier'];
if (codeVerifier == null) {
throw AuthorizationException(ErrorResponse(ErrorResponse.invalidRequest,
'Missing `code_verifier` parameter.', state,
uri: uri));
} else if (codeVerifier is! String) {
throw AuthorizationException(ErrorResponse(ErrorResponse.invalidRequest,
'The `code_verifier` parameter must be a string.', state,
uri: uri));
} else {
return codeVerifier;
}
}