@Override public String toString() { return String.valueOf(getValue()); }
protected DefaultOAuth2AccessToken prepareForSerialization(DefaultOAuth2AccessToken token) { //get original ID String id = token.getValue(); //nullify the access_token value token.setValue(null); //ensure that the ID is that of the refresh token token.getAdditionalInformation().put(ClaimConstants.JTI, token.getRefreshToken().getValue()); //delete the access token from token store tokenStore.delete(id, 0, IdentityZoneHolder.get().getId()); return token; }
public OAuth2AccessToken enhance(OAuth2AccessToken accessToken, OAuth2Authentication authentication) { DefaultOAuth2AccessToken result = new DefaultOAuth2AccessToken(accessToken); Map<String, Object> info = new LinkedHashMap<String, Object>(accessToken.getAdditionalInformation()); String tokenId = result.getValue(); if (!info.containsKey(TOKEN_ID)) { info.put(TOKEN_ID, tokenId); refreshTokenInfo.put(TOKEN_ID, encodedRefreshToken.getValue()); refreshTokenInfo.put(ACCESS_TOKEN_ID, tokenId); encodedRefreshToken.setAdditionalInformation(refreshTokenInfo);
@Test public void test_ensure_that_access_token_is_deleted_and_modified() { String tokenId = "access_token"; DefaultOAuth2AccessToken token = new DefaultOAuth2AccessToken(tokenId); DefaultOAuth2RefreshToken refreshToken = new DefaultOAuth2RefreshToken("refresh_token"); Map<String,Object> info = new HashMap(token.getAdditionalInformation()); info.put(JTI, token.getValue()); token.setAdditionalInformation(info); token.setRefreshToken(refreshToken); token.setExpiration(new Date()); }
@Test public void ensure_that_access_token_is_deleted_and_modified() { String tokenId = "access_token"; DefaultOAuth2AccessToken token = new DefaultOAuth2AccessToken(tokenId); DefaultOAuth2RefreshToken refreshToken = new DefaultOAuth2RefreshToken("refresh_token"); Map<String,Object> info = new HashMap(token.getAdditionalInformation()); info.put(JTI, token.getValue()); token.setAdditionalInformation(info); token.setRefreshToken(refreshToken); token.setExpiration(new Date()); DefaultOAuth2AccessToken result = granter.prepareForSerialization(token); assertSame(token, result); assertEquals(refreshToken.getValue(), result.getAdditionalInformation().get(JTI)); assertNull(result.getValue()); verify(tokenStore).delete(eq(tokenId), anyInt(), eq(IdentityZoneHolder.get().getId())); }
@Override public String toString() { return String.valueOf(getValue()); }
DefaultOAuth2AccessToken token = (DefaultOAuth2AccessToken) grant; Map<String, Object> additionalInformation = new HashMap<String, Object>(); additionalInformation.put("access_token", token.getValue()); additionalInformation.put("expires_at", token.getExpiration()); additionalInformation.put("client_id", authorizationRequest.getClientId()); OAuth2Authentication auth = tokenServices.loadAuthentication(token.getValue());
public OAuth2AccessToken enhance(OAuth2AccessToken accessToken, OAuth2Authentication authentication) { DefaultOAuth2AccessToken result = new DefaultOAuth2AccessToken(accessToken); Map<String, Object> info = new LinkedHashMap<String, Object>(accessToken.getAdditionalInformation()); String tokenId = result.getValue(); if (!info.containsKey(TOKEN_ID)) { info.put(TOKEN_ID, tokenId); refreshTokenInfo.put(TOKEN_ID, encodedRefreshToken.getValue()); refreshTokenInfo.put(ACCESS_TOKEN_ID, tokenId); encodedRefreshToken.setAdditionalInformation(refreshTokenInfo);