private OAuth2RefreshToken createRefreshToken(OAuth2Authentication authentication) { if (!isSupportRefreshToken(authentication.getOAuth2Request())) { return null; } int validitySeconds = getRefreshTokenValiditySeconds(authentication.getOAuth2Request()); String value = UUID.randomUUID().toString(); if (validitySeconds > 0) { return new DefaultExpiringOAuth2RefreshToken(value, new Date(System.currentTimeMillis() + (validitySeconds * 1000L))); } return new DefaultOAuth2RefreshToken(value); }
additionalInformation.put("refresh_token", refreshToken.getValue()); additionalInformation.put("refresh_token_expires_at", refreshToken.getExpiration());
@Override @Transactional @CacheEvict(cacheNames = { "oauthaccesstoken", "oauthaccesstokenauth" }, allEntries = true) public void storeRefreshToken(final OAuth2RefreshToken refreshToken, final OAuth2Authentication authentication) { // insert into oauth_refresh_token (token_id, token, authentication) values (?, // ?, ?) final RefreshToken storedToken = new RefreshToken(); storedToken.setClientId(authentication.getOAuth2Request().getClientId()); storedToken.setTokenId(extractTokenKey(refreshToken.getValue())); storedToken.setToken(serializeRefreshToken(refreshToken)); storedToken.setAuthentication(serializeAuthentication(authentication)); storedToken.setUsername(authentication.isClientOnly() ? null : authentication.getUserAuthentication().getName()); if (refreshToken instanceof DefaultExpiringOAuth2RefreshToken) { final DefaultExpiringOAuth2RefreshToken expRefreshToken = (DefaultExpiringOAuth2RefreshToken) refreshToken; storedToken.setExpiration(expRefreshToken.getExpiration()); } refreshTokenRepository.save(storedToken); }
private OAuth2RefreshToken createRefreshToken(OAuth2AccessToken encodedRefreshToken) { if (!jwtTokenEnhancer.isRefreshToken(encodedRefreshToken)) { throw new InvalidTokenException("Encoded token is not a refresh token"); } if (encodedRefreshToken.getExpiration()!=null) { return new DefaultExpiringOAuth2RefreshToken(encodedRefreshToken.getValue(), encodedRefreshToken.getExpiration()); } return new DefaultOAuth2RefreshToken(encodedRefreshToken.getValue()); }
Date expiration = ((ExpiringOAuth2RefreshToken) refreshToken).getExpiration(); encodedRefreshToken.setExpiration(expiration); token = new DefaultExpiringOAuth2RefreshToken(encode(encodedRefreshToken, authentication), expiration);
private ExpiringOAuth2RefreshToken createRefreshToken(OAuth2Authentication authentication) { int secondsToExpire = authProperties.getRefreshTokenTimeToLive(); Date expiration = new Date(System.currentTimeMillis() + secondsToExpire * 1000L); String refreshTokenValue = UUID.randomUUID().toString(); ExpiringOAuth2RefreshToken refreshToken = new DefaultExpiringOAuth2RefreshToken(refreshTokenValue, expiration); tokenStore.storeRefreshToken(refreshToken, authentication); return refreshToken; }
private OAuth2RefreshToken createRefreshToken(OAuth2Authentication authentication) { if (!isSupportRefreshToken(authentication.getOAuth2Request())) { return null; } int validitySeconds = getRefreshTokenValiditySeconds(authentication.getOAuth2Request()); String value = UUID.randomUUID().toString(); if (validitySeconds > 0) { return new DefaultExpiringOAuth2RefreshToken(value, new Date(System.currentTimeMillis() + (validitySeconds * 1000L))); } return new DefaultOAuth2RefreshToken(value); }
private OAuth2RefreshToken createRefreshToken(OAuth2Authentication authentication) { if (!isSupportRefreshToken(authentication.getOAuth2Request())) { return null; } int validitySeconds = getRefreshTokenValiditySeconds(authentication.getOAuth2Request()); String value = UUID.randomUUID().toString(); if (validitySeconds > 0) { return new DefaultExpiringOAuth2RefreshToken(value, new Date(System.currentTimeMillis() + (validitySeconds * 1000L))); } return new DefaultOAuth2RefreshToken(value); }
private OAuth2RefreshToken createRefreshToken(OAuth2Authentication authentication) { if (!isSupportRefreshToken(authentication.getOAuth2Request())) { return null; } int validitySeconds = getRefreshTokenValiditySeconds(authentication.getOAuth2Request()); String value = UUID.randomUUID().toString(); if (validitySeconds > 0) { return new DefaultExpiringOAuth2RefreshToken(value, new Date(System.currentTimeMillis() + (validitySeconds * 1000L))); } return new DefaultOAuth2RefreshToken(value); }
/** * Read a refresh token from the store. * * @param refreshTokenValue * The value of the token to read. * @return The token. */ @Override public ExpiringOAuth2RefreshToken readRefreshToken(String refreshTokenValue) { OrcidOauth2TokenDetail detail = orcidOauthTokenDetailService.findByRefreshTokenValue(refreshTokenValue); if (detail != null && StringUtils.isNotBlank(detail.getTokenValue())) { return new DefaultExpiringOAuth2RefreshToken(detail.getRefreshTokenValue(), detail.getRefreshTokenExpiration()); } return null; }
private OAuth2RefreshToken createRefreshToken(OAuth2AccessToken encodedRefreshToken) { if (!jwtTokenEnhancer.isRefreshToken(encodedRefreshToken)) { throw new InvalidTokenException("Encoded token is not a refresh token"); } if (encodedRefreshToken.getExpiration()!=null) { return new DefaultExpiringOAuth2RefreshToken(encodedRefreshToken.getValue(), encodedRefreshToken.getExpiration()); } return new DefaultOAuth2RefreshToken(encodedRefreshToken.getValue()); }
if (StringUtils.isNotBlank(refreshToken)) { if (detail.getRefreshTokenExpiration() != null) { rt = new DefaultExpiringOAuth2RefreshToken(detail.getRefreshTokenValue(), detail.getRefreshTokenExpiration()); } else { rt = new DefaultOAuth2RefreshToken(detail.getRefreshTokenValue());
Date expiration = ((ExpiringOAuth2RefreshToken) refreshToken).getExpiration(); encodedRefreshToken.setExpiration(expiration); token = new DefaultExpiringOAuth2RefreshToken(encode(encodedRefreshToken, authentication), expiration);
@Test public void withRestTemplate() { OAuth2ProtectedResourceDetails resource = new AuthorizationCodeResourceDetails(); OAuth2ClientContext context = new DefaultOAuth2ClientContext(); DefaultOAuth2AccessToken token = new DefaultOAuth2AccessToken("FOO"); token.setRefreshToken(new DefaultExpiringOAuth2RefreshToken("BAR", new Date(0L))); context.setAccessToken(token); this.services.setRestTemplate(new OAuth2RestTemplate(resource, context)); assertThat(this.services.loadAuthentication("FOO").getName()).isEqualTo("me"); assertThat(context.getAccessToken().getValue()).isEqualTo("FOO"); // The refresh token is still intact assertThat(context.getAccessToken().getRefreshToken()) .isEqualTo(token.getRefreshToken()); }