181 AuthenticatedClientSessionModel clientSession= clientSessionCtx.getClientSession();
182 ClientSessionCode<AuthenticatedClientSessionModel> accessCode =
new ClientSessionCode<>(
session,
realm, clientSession);
184 String responseTypeParam = clientSession.getNote(
OIDCLoginProtocol.RESPONSE_TYPE_PARAM);
185 String responseModeParam = clientSession.getNote(
OIDCLoginProtocol.RESPONSE_MODE_PARAM);
188 String redirect = clientSession.getRedirectUri();
189 OIDCRedirectUriBuilder redirectUri = OIDCRedirectUriBuilder.fromUri(redirect,
responseMode);
191 logger.debugv(
"redirectAccessCode: state: {0}", state);
193 redirectUri.addParam(OAuth2Constants.STATE, state);
195 OIDCAdvancedConfigWrapper clientConfig = OIDCAdvancedConfigWrapper.fromClientModel(clientSession.getClient());
196 if (!clientConfig.isExcludeSessionStateFromAuthResponse()) {
197 redirectUri.addParam(OAuth2Constants.SESSION_STATE, userSession.getId());
203 code = accessCode.getOrGenerateCode();
204 redirectUri.addParam(OAuth2Constants.CODE, code);
211 .generateAccessToken();
222 responseBuilder.generateCodeHash(code);
227 if (state != null && !state.isEmpty())
228 responseBuilder.generateStateHash(state);
231 AccessTokenResponse res = responseBuilder.build();
234 redirectUri.addParam(OAuth2Constants.ID_TOKEN, res.getIdToken());
238 redirectUri.addParam(OAuth2Constants.ACCESS_TOKEN, res.getToken());
240 redirectUri.addParam(
"token_type", res.getTokenType());
241 redirectUri.addParam(
"expires_in", String.valueOf(res.getExpiresIn()));
246 return redirectUri.build();
Definition: AbstractOAuthClient.java:18
KeycloakSession session
Definition: OIDCLoginProtocol.java:116
OIDCLoginProtocol()
Definition: OIDCLoginProtocol.java:137
Definition: TokenManager.java:84
OIDCResponseMode responseMode
Definition: OIDCLoginProtocol.java:127
RealmModel realm
Definition: OIDCLoginProtocol.java:118
AccessTokenResponseBuilder generateIDToken()
Definition: TokenManager.java:831
Definition: TokenManager.java:745
static final Logger logger
Definition: OIDCLoginProtocol.java:114
Definition: AbstractLoginProtocolFactory.java:18
OIDCResponseType responseType
Definition: OIDCLoginProtocol.java:126
boolean generateAccessTokenHash
Definition: TokenManager.java:757
boolean hasResponseType(String responseType)
Definition: OIDCResponseType.java:91
void setupResponseTypeAndMode(String responseType, String responseMode)
Definition: OIDCLoginProtocol.java:141
Definition: AccessTokenIntrospectionProvider.java:18
boolean isImplicitOrHybridFlow()
Definition: OIDCResponseType.java:96
EventBuilder event
Definition: OIDCLoginProtocol.java:124
boolean isImplicitFlow()
Definition: OIDCResponseType.java:100