public OAuth2AccessToken extractAccessToken(String value, Map<String, ?> map) { DefaultOAuth2AccessToken token = new DefaultOAuth2AccessToken(value); Map<String, Object> info = new HashMap<String, Object>(map); info.remove(EXP); info.remove(AUD); info.remove(clientIdAttribute); info.remove(scopeAttribute); if (map.containsKey(EXP)) { token.setExpiration(new Date((Long) map.get(EXP) * 1000L)); } if (map.containsKey(JTI)) { info.put(JTI, map.get(JTI)); } token.setScope(extractScope(map)); token.setAdditionalInformation(info); return token; }
public static OAuth2AccessToken valueOf(Map<String, String> tokenParams) { DefaultOAuth2AccessToken token = new DefaultOAuth2AccessToken(tokenParams.get(ACCESS_TOKEN)); if (tokenParams.containsKey(EXPIRES_IN)) { long expiration = 0; try { expiration = Long.parseLong(String.valueOf(tokenParams.get(EXPIRES_IN))); } catch (NumberFormatException e) { // fall through... } token.setExpiration(new Date(System.currentTimeMillis() + (expiration * 1000L))); } if (tokenParams.containsKey(REFRESH_TOKEN)) { String refresh = tokenParams.get(REFRESH_TOKEN); DefaultOAuth2RefreshToken refreshToken = new DefaultOAuth2RefreshToken(refresh); token.setRefreshToken(refreshToken); } if (tokenParams.containsKey(SCOPE)) { Set<String> scope = new TreeSet<String>(); for (StringTokenizer tokenizer = new StringTokenizer(tokenParams.get(SCOPE), " ,"); tokenizer .hasMoreTokens();) { scope.add(tokenizer.nextToken()); } token.setScope(scope); } if (tokenParams.containsKey(TOKEN_TYPE)) { token.setTokenType(tokenParams.get(TOKEN_TYPE)); } return token; }
private OAuth2AccessToken createAccessToken(OAuth2Authentication authentication, OAuth2RefreshToken refreshToken) { DefaultOAuth2AccessToken token = new DefaultOAuth2AccessToken(UUID.randomUUID().toString()); int validitySeconds = getAccessTokenValiditySeconds(authentication.getOAuth2Request()); if (validitySeconds > 0) { token.setExpiration(new Date(System.currentTimeMillis() + (validitySeconds * 1000L))); } token.setRefreshToken(refreshToken); token.setScope(authentication.getOAuth2Request().getScope()); return accessTokenEnhancer != null ? accessTokenEnhancer.enhance(token, authentication) : token; }
accessToken.setRefreshToken(new DefaultOAuth2RefreshToken(refreshToken)); accessToken.setScope(scope); accessToken.setAdditionalInformation(additionalInformation);
accessToken.setRefreshToken(new DefaultOAuth2RefreshToken(refreshToken)); accessToken.setScope(scope); accessToken.setAdditionalInformation(additionalInformation);
/** * Copy constructor for access token. * * @param accessToken */ public DefaultOAuth2AccessToken(OAuth2AccessToken accessToken) { this(accessToken.getValue()); setAdditionalInformation(accessToken.getAdditionalInformation()); setRefreshToken(accessToken.getRefreshToken()); setExpiration(accessToken.getExpiration()); setScope(accessToken.getScope()); setTokenType(accessToken.getTokenType()); }
@SuppressWarnings("unchecked") public OAuth2AccessToken createToken(String tokenString, Map<String, Object> tokenInfo) { List<String> scope = (List<String>) tokenInfo.get("scope"); Number exp = (Number) tokenInfo.get("exp"); if (scope == null || exp == null) { return null; } DefaultOAuth2AccessToken token = new DefaultOAuth2AccessToken(tokenString); token.setExpiration(new Date(exp.longValue() * 1000)); token.setScope(new HashSet<String>(scope)); token.setAdditionalInformation(tokenInfo); return token; }
@SuppressWarnings("unchecked") public OAuth2AccessToken createToken(String tokenString, Map<String, Object> tokenInfo) { List<String> scope = (List<String>) tokenInfo.get("scope"); Number exp = (Number) tokenInfo.get("exp"); if (scope == null || exp == null) { return null; } DefaultOAuth2AccessToken token = new DefaultOAuth2AccessToken(tokenString); token.setExpiration(new Date(exp.longValue() * 1000)); token.setScope(new HashSet<String>(scope)); token.setAdditionalInformation(tokenInfo); return token; }
public OAuth2AccessToken extractAccessToken(String value, Map<String, ?> map) { DefaultOAuth2AccessToken token = new DefaultOAuth2AccessToken(value); Map<String, Object> info = new HashMap<String, Object>(map); info.remove(EXP); info.remove(AUD); info.remove(clientIdAttribute); info.remove(scopeAttribute); if (map.containsKey(EXP)) { token.setExpiration(new Date((Long) map.get(EXP) * 1000L)); } if (map.containsKey(JTI)) { info.put(JTI, map.get(JTI)); } token.setScope(extractScope(map)); token.setAdditionalInformation(info); return token; }
public static OAuth2AccessToken valueOf(Map<String, String> tokenParams) { DefaultOAuth2AccessToken token = new DefaultOAuth2AccessToken(tokenParams.get(ACCESS_TOKEN)); if (tokenParams.containsKey(EXPIRES_IN)) { long expiration = 0; try { expiration = Long.parseLong(String.valueOf(tokenParams.get(EXPIRES_IN))); } catch (NumberFormatException e) { // fall through... } token.setExpiration(new Date(System.currentTimeMillis() + (expiration * 1000L))); } if (tokenParams.containsKey(REFRESH_TOKEN)) { String refresh = tokenParams.get(REFRESH_TOKEN); DefaultOAuth2RefreshToken refreshToken = new DefaultOAuth2RefreshToken(refresh); token.setRefreshToken(refreshToken); } if (tokenParams.containsKey(SCOPE)) { Set<String> scope = new TreeSet<String>(); for (StringTokenizer tokenizer = new StringTokenizer(tokenParams.get(SCOPE), " ,"); tokenizer .hasMoreTokens();) { scope.add(tokenizer.nextToken()); } token.setScope(scope); } if (tokenParams.containsKey(TOKEN_TYPE)) { token.setTokenType(tokenParams.get(TOKEN_TYPE)); } return token; }
private OAuth2AccessToken createAccessToken(OAuth2Authentication authentication, OAuth2RefreshToken refreshToken) { DefaultOAuth2AccessToken token = new DefaultOAuth2AccessToken(UUID.randomUUID().toString()); int validitySeconds = getAccessTokenValiditySeconds(authentication.getOAuth2Request()); if (validitySeconds > 0) { token.setExpiration(new Date(System.currentTimeMillis() + (validitySeconds * 1000L))); } token.setRefreshToken(refreshToken); token.setScope(authentication.getOAuth2Request().getScope()); return accessTokenEnhancer != null ? accessTokenEnhancer.enhance(token, authentication) : token; }
private OAuth2AccessToken createAccessToken(OAuth2Authentication authentication, OAuth2RefreshToken refreshToken) { DefaultOAuth2AccessToken token = new DefaultOAuth2AccessToken(UUID.randomUUID().toString()); int validitySeconds = getAccessTokenValiditySeconds(authentication.getOAuth2Request()); if (validitySeconds > 0) { token.setExpiration(new Date(System.currentTimeMillis() + (validitySeconds * 1000L))); } token.setRefreshToken(refreshToken); token.setScope(authentication.getOAuth2Request().getScope()); return accessTokenEnhancer != null ? accessTokenEnhancer.enhance(token, authentication) : token; }
private OAuth2AccessToken createAccessToken(OAuth2Authentication authentication, OAuth2RefreshToken refreshToken) { DefaultOAuth2AccessToken token = new DefaultOAuth2AccessToken(UUID.randomUUID().toString()); int validitySeconds = getAccessTokenValiditySeconds(authentication.getOAuth2Request()); if (validitySeconds > 0) { token.setExpiration(new Date(System.currentTimeMillis() + (validitySeconds * 1000L))); } token.setRefreshToken(refreshToken); token.setScope(authentication.getOAuth2Request().getScope()); return accessTokenEnhancer != null ? accessTokenEnhancer.enhance(token, authentication) : token; }
public AbstractOAuth2AccessToken(String accessToken, String tokenType, String expires, String scope, String refreshToken, final String idToken) { Validate.notNull(accessToken, "AccessToken must not be null"); Validate.notNull(tokenType, "TokenType must not be null"); Validate.notNull(expires, "Expires must not be null"); Validate.notNull(scope, "Scope must not be null"); this.oAuth2AccessToken = new DefaultOAuth2AccessToken(accessToken); ((DefaultOAuth2AccessToken)oAuth2AccessToken).setTokenType(tokenType); ((DefaultOAuth2AccessToken)oAuth2AccessToken).setExpiration(createExpirationDate(expires)); ((DefaultOAuth2AccessToken)oAuth2AccessToken).setScope(createScopeSet(scope)); ((DefaultOAuth2AccessToken)oAuth2AccessToken).setRefreshToken(new DefaultOAuth2RefreshToken(refreshToken)); ((DefaultOAuth2AccessToken)oAuth2AccessToken).setAdditionalInformation( new HashMap<String, Object>(){{put(AccessToken.ID_TOKEN, idToken);}} ); }
@Override public OAuth2AccessToken readAccessToken(String token) { AccessToken accessToken = validateAccessToken(token); Set<String> scopes = new HashSet<String>(); for (Scope scope : accessToken.getScopes()) { scopes.add(scope.toString()); } DefaultOAuth2AccessToken oAuth2AccessToken = new DefaultOAuth2AccessToken(token); oAuth2AccessToken.setScope(scopes); oAuth2AccessToken.setExpiration(accessToken.getExpiresAt()); oAuth2AccessToken.setTokenType("BEARER"); return oAuth2AccessToken; }
public AbstractOAuth2AccessToken(String accessToken, String tokenType, String expires, String scope, String refreshToken, final String idToken) { Validate.notNull(accessToken, "AccessToken must not be null"); Validate.notNull(tokenType, "TokenType must not be null"); Validate.notNull(scope, "Scope must not be null"); this.oAuth2AccessToken = new DefaultOAuth2AccessToken(accessToken); ((DefaultOAuth2AccessToken)oAuth2AccessToken).setTokenType(tokenType); ((DefaultOAuth2AccessToken)oAuth2AccessToken).setExpiration(createExpirationDate(expires)); ((DefaultOAuth2AccessToken)oAuth2AccessToken).setScope(createScopeSet(scope)); ((DefaultOAuth2AccessToken)oAuth2AccessToken).setRefreshToken(new DefaultOAuth2RefreshToken(refreshToken)); ((DefaultOAuth2AccessToken)oAuth2AccessToken).setAdditionalInformation( new HashMap<String, Object>(){{put(AccessToken.ID_TOKEN, idToken);}} ); }
private DefaultOAuth2AccessToken generateAccessToken(OAuth2Authentication authentication) { DefaultOAuth2AccessToken accessToken = new DefaultOAuth2AccessToken(UUID.randomUUID().toString()); int validitySeconds = getAccessTokenValiditySeconds(authentication.getOAuth2Request()); if (validitySeconds > 0) { accessToken.setExpiration(new Date(System.currentTimeMillis() + (validitySeconds * 1000L))); } accessToken.setScope(authentication.getOAuth2Request().getScope()); if(customTokenEnhancer != null) { accessToken = new DefaultOAuth2AccessToken(customTokenEnhancer.enhance(accessToken, authentication)); } if(!OrcidOauth2Constants.IETF_EXCHANGE_GRANT_TYPE.equals(authentication.getOAuth2Request().getGrantType()) && this.isSupportRefreshToken(authentication.getOAuth2Request())) { OAuth2RefreshToken refreshToken = new DefaultOAuth2RefreshToken(UUID.randomUUID().toString()); accessToken.setRefreshToken(refreshToken); } return accessToken; }
@Override public OAuth2AccessToken enhance(OAuth2AccessToken accessToken, OAuth2Authentication authentication) { if (authentication.getPrincipal() instanceof User) { User user = (User) authentication.getPrincipal(); final Set<String> scopes = new HashSet<String>(); for (GrantedAuthority authority : user.getAuthorities()) { String role = authority.getAuthority(); if (role.startsWith("ROLE_")) { scopes.add(role.substring(5).toLowerCase()); } else { scopes.add(role.toLowerCase()); } } ((DefaultOAuth2AccessToken) accessToken).setScope(scopes); } return accessToken; } });
private OAuth2AccessToken toOAuth2AccessToken(OrcidOauth2TokenDetail token) { DefaultOAuth2AccessToken result = new DefaultOAuth2AccessToken(token.getTokenValue()); result.setExpiration(token.getTokenExpiration()); result.setRefreshToken(new DefaultOAuth2RefreshToken(token.getRefreshTokenValue())); result.setScope(OAuth2Utils.parseParameterList(token.getScope())); result.setTokenType(token.getTokenType()); result.setValue(token.getTokenValue()); Map<String, Object> additionalInfo = new HashMap<String, Object>(); if(token.getProfile() != null) { additionalInfo.put(OrcidOauth2Constants.ORCID, token.getProfile().getId()); additionalInfo.put(OrcidOauth2Constants.NAME, profileEntityManager.retrivePublicDisplayName(token.getProfile().getId())); } result.setAdditionalInformation(additionalInfo); return result; } }
/** * Copy constructor for access token. * * @param accessToken */ public DefaultOAuth2AccessToken(OAuth2AccessToken accessToken) { this(accessToken.getValue()); setAdditionalInformation(accessToken.getAdditionalInformation()); setRefreshToken(accessToken.getRefreshToken()); setExpiration(accessToken.getExpiration()); setScope(accessToken.getScope()); setTokenType(accessToken.getTokenType()); }