private void logout(AccessTokenResponse accessTokenResponse) { try(CloseableHttpClient client = HttpClientBuilder.create().build()) { HttpPost post = new HttpPost(KeycloakUriBuilder.fromUri(baseUrl) .path(ServiceUrlConstants.TOKEN_SERVICE_LOGOUT_PATH).build(LiveOak.LIVEOAK_APP_REALM)); List<NameValuePair> formparams = new ArrayList<>(); formparams.add(new BasicNameValuePair(OAuth2Constants.REFRESH_TOKEN, accessTokenResponse.getRefreshToken())); formparams.add(new BasicNameValuePair(OAuth2Constants.CLIENT_ID, "liveoak-admin-client")); UrlEncodedFormEntity form = new UrlEncodedFormEntity(formparams, "UTF-8"); post.setEntity(form); client.execute(post); } catch (IOException e) { // Not a problem we need to report } this.accessTokenResponse = null; }
refreshToken = tokenResponse.getRefreshToken();
if (response.getRefreshToken() != null) { if (log.isTraceEnabled()) { log.trace("Setup new refresh token to the security context"); this.refreshToken = response.getRefreshToken();
RealmConfigData realmData = cfg.sessionRealmConfigData(); realmData.setToken(token.getToken()); realmData.setRefreshToken(token.getRefreshToken()); realmData.setExpiresAt(currentTimeMillis() + token.getExpiresIn() * 1000); realmData.setRefreshExpiresAt(currentTimeMillis() + token.getRefreshExpiresIn() * 1000);
RealmConfigData realmData = cfg.sessionRealmConfigData(); realmData.setToken(token.getToken()); realmData.setRefreshToken(token.getRefreshToken()); realmData.setExpiresAt(currentTimeMillis() + token.getExpiresIn() * 1000); realmData.setRefreshExpiresAt(currentTimeMillis() + token.getRefreshExpiresIn() * 1000);
private void parseAccessToken(AccessTokenResponse tokenResponse) throws VerificationException { tokenString = tokenResponse.getToken(); refreshToken = tokenResponse.getRefreshToken(); idTokenString = tokenResponse.getIdToken(); token = RSATokenVerifier.verifyToken(tokenString, deployment.getRealmKey(), deployment.getRealm()); if (idTokenString != null) { JWSInput input = new JWSInput(idTokenString); try { idToken = input.readJsonContent(IDToken.class); } catch (IOException e) { throw new VerificationException(); } } }
public static void saveTokens(AccessTokenResponse tokens, String endpoint, String realm, String clientId, String signKey, Long sigExpiresAt, String secret) { handler.saveMergeConfig(config -> { config.setServerUrl(endpoint); config.setRealm(realm); RealmConfigData realmConfig = config.ensureRealmConfigData(endpoint, realm); realmConfig.setToken(tokens.getToken()); realmConfig.setRefreshToken(tokens.getRefreshToken()); realmConfig.setSigningToken(signKey); realmConfig.setSecret(secret); realmConfig.setExpiresAt(System.currentTimeMillis() + tokens.getExpiresIn() * 1000); realmConfig.setRefreshExpiresAt(tokens.getRefreshExpiresIn() == 0 ? Long.MAX_VALUE : System.currentTimeMillis() + tokens.getRefreshExpiresIn() * 1000); realmConfig.setSigExpiresAt(sigExpiresAt); realmConfig.setClientId(clientId); }); }
public AuthorizationResponse(AccessTokenResponse response, boolean upgraded) { setToken(response.getToken()); setTokenType("Bearer"); setRefreshToken(response.getRefreshToken()); setRefreshExpiresIn(response.getRefreshExpiresIn()); setExpiresIn(response.getExpiresIn()); setNotBeforePolicy(response.getNotBeforePolicy()); this.upgraded = upgraded; }
public static void saveTokens(AccessTokenResponse tokens, String endpoint, String realm, String clientId, String signKey, Long sigExpiresAt, String secret) { handler.saveMergeConfig(config -> { config.setServerUrl(endpoint); config.setRealm(realm); RealmConfigData realmConfig = config.ensureRealmConfigData(endpoint, realm); realmConfig.setToken(tokens.getToken()); realmConfig.setRefreshToken(tokens.getRefreshToken()); realmConfig.setSigningToken(signKey); realmConfig.setSecret(secret); realmConfig.setExpiresAt(System.currentTimeMillis() + tokens.getExpiresIn() * 1000); realmConfig.setRefreshExpiresAt(tokens.getRefreshExpiresIn() == 0 ? Long.MAX_VALUE : System.currentTimeMillis() + tokens.getRefreshExpiresIn() * 1000); realmConfig.setSigExpiresAt(sigExpiresAt); realmConfig.setClientId(clientId); }); }
refreshToken = tokenResponse.getRefreshToken(); idTokenString = tokenResponse.getIdToken();
String refreshTokenValue = clientToken.getRefreshToken(); try { RefreshToken refreshToken = JsonSerialization.readValue(new JWSInput(refreshTokenValue).getContent(), RefreshToken.class); .form() .param("grant_type", "refresh_token") .param("refresh_token", clientToken.getRefreshToken()) .response() .json(AccessTokenResponse.class)
public synchronized AccessTokenResponse refreshToken() { Form form = new Form().param(GRANT_TYPE, REFRESH_TOKEN) .param(REFRESH_TOKEN, currentToken.getRefreshToken()); if (config.isPublicClient()) { form.param(CLIENT_ID, config.getClientId()); } try { int requestTime = Time.currentTime(); currentToken = tokenService.refreshToken(config.getRealm(), form.asMap()); expirationTime = requestTime + currentToken.getExpiresIn(); return currentToken; } catch (BadRequestException e) { return grantToken(); } }