204 String actionId = KeycloakModelUtils.generateId();
206 CodeJWT
codeJWT =
new CodeJWT();
207 codeJWT.id(actionId);
208 codeJWT.issuedFor(clientSession.getClient().getId());
209 codeJWT.userSessionId(clientSession.getUserSession().getId());
211 RealmModel realm = clientSession.getRealm();
213 int issuedAt = Time.currentTime();
214 codeJWT.issuedAt(issuedAt);
215 codeJWT.expiration(issuedAt + realm.getAccessCodeLifespan());
217 SecretKey aesKey = session.keys().getActiveAesKey(realm).getSecretKey();
218 SecretKey hmacKey = session.keys().getActiveHmacKey(realm).getSecretKey();
220 if (
logger.isTraceEnabled()) {
221 logger.tracef(
"Using AES key of length '%d' bytes and HMAC key of length '%d' bytes . Client: '%s', User Session: '%s'", aesKey.getEncoded().length,
222 hmacKey.getEncoded().length, clientSession.getClient().getClientId(), clientSession.getUserSession().getId());
226 return TokenUtil.jweDirectEncode(aesKey, hmacKey, codeJWT);
227 }
catch (JWEException jweEx) {
228 throw new RuntimeException(jweEx);
CodeJWT codeJWT
Definition: CodeGenerateUtil.java:171
static final Logger logger
Definition: CodeGenerateUtil.java:53