List of usage examples for org.springframework.security.oauth2.common DefaultOAuth2AccessToken setExpiration
public void setExpiration(Date expiration)
From source file:com.onedrive.api.internal.InternalTokenServices.java
public OAuth2AccessToken getAccessToken(OAuth2ProtectedResourceDetails resource, Authentication authentication) { if (reference.getAccessTokenListener() != null) { AccessToken internalAccessToken = reference.getAccessTokenListener().onAccessTokenRequired(reference); if (internalAccessToken != null) { DefaultOAuth2AccessToken accessToken = new DefaultOAuth2AccessToken( internalAccessToken.getAccessToken()); accessToken.setExpiration(internalAccessToken.getExpiration()); accessToken.setRefreshToken(new DefaultOAuth2RefreshToken(internalAccessToken.getRefreshToken())); accessToken.setScope(internalAccessToken.getScope()); accessToken.setTokenType(internalAccessToken.getTokenType()); return accessToken; }/*w w w .j a va 2 s .c o m*/ } return null; }
From source file:org.osiam.resource_server.security.authorization.AccessTokenValidationService.java
@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());/*from www .j av a2 s .co m*/ } DefaultOAuth2AccessToken oAuth2AccessToken = new DefaultOAuth2AccessToken(token); oAuth2AccessToken.setScope(scopes); oAuth2AccessToken.setExpiration(accessToken.getExpiresAt()); oAuth2AccessToken.setTokenType("BEARER"); return oAuth2AccessToken; }
From source file:org.springframework.security.oauth2.common.OAuth2AccessTokenJackson2Deserializer.java
@Override public OAuth2AccessToken deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { String tokenValue = null;//from ww w . j av a 2s.co m String tokenType = null; String refreshToken = null; Long expiresIn = null; Set<String> scope = null; Map<String, Object> additionalInformation = new LinkedHashMap<String, Object>(); // TODO What should occur if a parameter exists twice while (jp.nextToken() != JsonToken.END_OBJECT) { String name = jp.getCurrentName(); jp.nextToken(); if (OAuth2AccessToken.ACCESS_TOKEN.equals(name)) { tokenValue = jp.getText(); } else if (OAuth2AccessToken.TOKEN_TYPE.equals(name)) { tokenType = jp.getText(); } else if (OAuth2AccessToken.REFRESH_TOKEN.equals(name)) { refreshToken = jp.getText(); } else if (OAuth2AccessToken.EXPIRES_IN.equals(name)) { try { expiresIn = jp.getLongValue(); } catch (JsonParseException e) { expiresIn = Long.valueOf(jp.getText()); } } else if (OAuth2AccessToken.SCOPE.equals(name)) { String text = jp.getText(); scope = OAuth2Utils.parseParameterList(text); } else { additionalInformation.put(name, jp.readValueAs(Object.class)); } } // TODO What should occur if a required parameter (tokenValue or tokenType) is missing? DefaultOAuth2AccessToken accessToken = new DefaultOAuth2AccessToken(tokenValue); accessToken.setTokenType(tokenType); if (expiresIn != null) { accessToken.setExpiration(new Date(System.currentTimeMillis() + (expiresIn * 1000))); } if (refreshToken != null) { accessToken.setRefreshToken(new DefaultOAuth2RefreshToken(refreshToken)); } accessToken.setScope(scope); accessToken.setAdditionalInformation(additionalInformation); return accessToken; }
From source file:com.cedac.security.oauth2.provider.token.store.TokenStoreBaseTests.java
@Test public void testRetrieveAccessToken() { //Test approved request OAuth2Request storedOAuth2Request = RequestTokenFactory.createOAuth2Request("id", true); OAuth2Authentication authentication = new OAuth2Authentication(storedOAuth2Request, new TestAuthentication("test2", true)); DefaultOAuth2AccessToken expectedOAuth2AccessToken = new DefaultOAuth2AccessToken("testToken"); expectedOAuth2AccessToken.setExpiration(new Date(Long.MAX_VALUE - 1)); getTokenStore().storeAccessToken(expectedOAuth2AccessToken, authentication); //Test unapproved request storedOAuth2Request = RequestTokenFactory.createOAuth2Request("id", false); authentication = new OAuth2Authentication(storedOAuth2Request, new TestAuthentication("test2", true)); OAuth2AccessToken actualOAuth2AccessToken = getTokenStore().getAccessToken(authentication); assertEquals(expectedOAuth2AccessToken, actualOAuth2AccessToken); assertEquals(authentication.getUserAuthentication(), getTokenStore().readAuthentication(expectedOAuth2AccessToken.getValue()).getUserAuthentication()); // The authorizationRequest does not match because it is unapproved, but the token was granted to an approved request assertFalse(storedOAuth2Request.equals( getTokenStore().readAuthentication(expectedOAuth2AccessToken.getValue()).getOAuth2Request())); actualOAuth2AccessToken = getTokenStore().getAccessToken(authentication); assertEquals(expectedOAuth2AccessToken, actualOAuth2AccessToken); getTokenStore().removeAccessToken(expectedOAuth2AccessToken); assertNull(getTokenStore().readAccessToken("testToken")); assertNull(getTokenStore().readAuthentication(expectedOAuth2AccessToken.getValue())); assertNull(getTokenStore().getAccessToken(authentication)); }
From source file:com.ge.predix.uaa.token.lib.TestTokenUtil.java
private DefaultOAuth2AccessToken createAccessToken(final String issuerId, final String userId, final String username, final String userEmail, final int validitySeconds, final Collection<GrantedAuthority> clientScopes, final Set<String> requestedScopes, final String clientId, final Set<String> resourceIds, final String grantType, final String refreshToken, final Map<String, String> additionalAuthorizationAttributes, final Set<String> responseTypes, final String revocableHashSignature, final long issuedAtMillis, final String zoneId) { String tokenId = UUID.randomUUID().toString(); DefaultOAuth2AccessToken accessToken = new DefaultOAuth2AccessToken(tokenId); if (validitySeconds > 0) { accessToken.setExpiration(new Date(issuedAtMillis + (validitySeconds * 1000L))); }// ww w . j ava 2s . c o m accessToken.setRefreshToken(refreshToken == null ? null : new DefaultOAuth2RefreshToken(refreshToken)); if (null == requestedScopes || requestedScopes.size() == 0) { // logger.debug("No scopes were granted"); throw new InvalidTokenException("No scopes were granted"); } accessToken.setScope(requestedScopes); Map<String, Object> info = new HashMap<String, Object>(); info.put(JTI, accessToken.getValue()); if (null != additionalAuthorizationAttributes) { info.put(ADDITIONAL_AZ_ATTR, additionalAuthorizationAttributes); } accessToken.setAdditionalInformation(info); String content; try { content = JsonUtils.writeValueAsString(createJWTAccessToken(accessToken, issuerId, userId, username, userEmail, clientScopes, requestedScopes, clientId, resourceIds, grantType, refreshToken, revocableHashSignature, issuedAtMillis, zoneId)); } catch (JsonUtils.JsonUtilException e) { throw new IllegalStateException("Cannot convert access token to JSON", e); } String token = JwtHelper.encode(content, this.signer).getEncoded(); // This setter copies the value and returns. Don't change. accessToken.setValue(token); return accessToken; }
From source file:no.imr.common.security.jwt.DefaultAccessTokenConverter.java
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);//from www.j a v a 2 s .com info.remove(AUD); info.remove(CLIENT_ID); info.remove(SCOPE); if (map.containsKey(EXP)) { token.setExpiration(new Date((Long) map.get(EXP) * 1000L)); } if (map.containsKey(JTI)) { info.put(JTI, map.get(JTI)); } @SuppressWarnings("unchecked") Collection<String> scope = (Collection<String>) map.get(SCOPE); if (scope != null) { token.setScope(new HashSet<String>(scope)); } token.setAdditionalInformation(info); return token; }
From source file:it.smartcommunitylab.aac.oauth.NonRemovingTokenServices.java
private OAuth2AccessToken createAccessToken(OAuth2Authentication authentication, OAuth2RefreshToken refreshToken) { DefaultOAuth2AccessToken token = new DefaultOAuth2AccessToken(UUID.randomUUID().toString()); int validitySeconds = getAccessTokenValiditySeconds(authentication.getOAuth2Request()); if (!authentication.isClientOnly()) { token.setExpiration(new Date(System.currentTimeMillis() + (getUserAccessTokenValiditySeconds(authentication.getOAuth2Request()) * 1000L))); } else if (validitySeconds > 0) { token.setExpiration(new Date(System.currentTimeMillis() + (validitySeconds * 1000L))); } else {//from ww w .j a v a2s.co m token.setExpiration(new Date(Long.MAX_VALUE)); } token.setRefreshToken(refreshToken); token.setScope(authentication.getOAuth2Request().getScope()); logger.info("Created token " + token.getValue() + " expires at " + token.getExpiration()); return tokenEnhancer != null ? tokenEnhancer.enhance(token, authentication) : token; }
From source file:org.eclipse.flux.cloudfoundry.deployment.service.CfDeploymentService.java
private CloudFoundryClientDelegate getCfClient(JSONObject req) throws Exception { DefaultOAuth2AccessToken token = new DefaultOAuth2AccessToken(req.getString(CF_TOKEN)); //We must set expiration or CF client will try to refresh it and throw an NPE because it has no // refresh token. See https://github.com/cloudfoundry/cf-java-client/issues/214 Date nextYear = new Date(); nextYear.setYear(nextYear.getYear() + 1); token.setExpiration(nextYear); return new CloudFoundryClientDelegate(req.getString(USERNAME), token, new URI(req.getString(CF_CONTROLLER_URL)).toURL(), getStringMaybe(req, CF_SPACE), flux, appLogs); }
From source file:com.onedrive.api.OneDrive.java
private OAuth2AccessToken getOAuth2AccessToken() { if (existingToken != null) { DefaultOAuth2AccessToken accessToken = new DefaultOAuth2AccessToken(existingToken.getAccessToken()); if (existingToken.getRefreshToken() != null) { accessToken.setRefreshToken(new DefaultOAuth2RefreshToken(existingToken.getRefreshToken())); }/*from w w w.j av a2s. c om*/ accessToken.setExpiration(existingToken.getExpiration()); accessToken.setScope(existingToken.getScope()); accessToken.setTokenType(existingToken.getTokenType()); return accessToken; } return null; }