|
54 | 54 | */
|
55 | 55 | public class OpenIdProvider {
|
56 | 56 |
|
| 57 | + // OAuth 2 and OpenID request parameters |
57 | 58 | private static final String CLIENT_ID = "client_id";
|
| 59 | + private static final String CODE_CHALLENGE = "code_challenge"; |
| 60 | + private static final String CODE_CHALLENGE_METHOD = "code_challenge_method"; |
| 61 | + private static final String NONCE = "nonce"; |
58 | 62 | private static final String REDIRECT_URI = "redirect_uri";
|
| 63 | + private static final String RESPONSE_TYPE = "response_type"; |
| 64 | + private static final String SCOPE = "scope"; |
| 65 | + private static final String STATE = "state"; |
| 66 | + |
59 | 67 | private static final String EQUALS = "=";
|
60 | 68 | private static final String ETC = "&";
|
61 | 69 |
|
@@ -155,11 +163,20 @@ private URI authorize(final URI authorizationEndpoint, final AuthorizationReques
|
155 | 163 | final URIBuilder builder = URIBuilder.newBuilder(authorizationEndpoint)
|
156 | 164 | .queryParam(CLIENT_ID, request.getClientId())
|
157 | 165 | .queryParam(REDIRECT_URI, request.getRedirectUri().toString())
|
158 |
| - .queryParam("response_type", request.getResponseType()); |
| 166 | + .queryParam(RESPONSE_TYPE, request.getResponseType()) |
| 167 | + .queryParam(SCOPE, request.getScope()); |
| 168 | + |
| 169 | + if (request.getState() != null) { |
| 170 | + builder.queryParam(STATE, request.getState()); |
| 171 | + } |
| 172 | + |
| 173 | + if (request.getNonce() != null) { |
| 174 | + builder.queryParam(NONCE, request.getNonce()); |
| 175 | + } |
159 | 176 |
|
160 | 177 | if (request.getCodeChallenge() != null && request.getCodeChallengeMethod() != null) {
|
161 |
| - builder.queryParam("code_challenge", request.getCodeChallenge()); |
162 |
| - builder.queryParam("code_challenge_method", request.getCodeChallengeMethod()); |
| 178 | + builder.queryParam(CODE_CHALLENGE, request.getCodeChallenge()); |
| 179 | + builder.queryParam(CODE_CHALLENGE_METHOD, request.getCodeChallengeMethod()); |
163 | 180 | }
|
164 | 181 |
|
165 | 182 | return builder.build();
|
|
0 commit comments