56 JWTClaimsSet.Builder claims =
new JWTClaimsSet.Builder();
59 claims.claim(
"response_type",
"code");
60 claims.claim(
"client_id", clientConfig.getClientId());
61 claims.claim(
"scope", Joiner.on(
" ").join(clientConfig.getScope()));
64 claims.claim(
"redirect_uri", redirectUri);
67 claims.claim(
"nonce", nonce);
70 claims.claim(
"state", state);
73 for (Entry<String, String> option : options.entrySet()) {
74 claims.claim(option.getKey(), option.getValue());
78 if (!Strings.isNullOrEmpty(loginHint)) {
79 claims.claim(
"login_hint", loginHint);
82 JWSAlgorithm alg = clientConfig.getRequestObjectSigningAlg();
87 SignedJWT jwt =
new SignedJWT(
new JWSHeader(alg), claims.build());
92 URIBuilder uriBuilder =
new URIBuilder(serverConfig.getAuthorizationEndpointUri());
93 uriBuilder.addParameter(
"request", jwt.serialize());
96 return uriBuilder.build().toString();
97 }
catch (URISyntaxException e) {
98 throw new AuthenticationServiceException(
"Malformed Authorization Endpoint Uri", e);
JWSAlgorithm getDefaultSigningAlgorithm()
void signJwt(SignedJWT jwt)
JWTSigningAndValidationService signingAndValidationService
Definition: SignedAuthRequestUrlBuilder.java:47