124 FederatedIdentityModel model = session.users().getFederatedIdentity(tokenSubject, getConfig().getAlias(), authorizedClient.getRealm());
125 if (model == null || model.getToken() == null) {
126 return exchangeNotLinked(uriInfo, authorizedClient, tokenUserSession, tokenSubject);
128 String accessToken = model.getToken();
129 if (accessToken == null) {
130 model.setToken(null);
131 session.users().updateFederatedIdentity(authorizedClient.getRealm(), tokenSubject, model);
132 return exchangeTokenExpired(uriInfo, authorizedClient, tokenUserSession, tokenSubject);
134 AccessTokenResponse tokenResponse =
new AccessTokenResponse();
135 tokenResponse.setToken(accessToken);
136 tokenResponse.setIdToken(null);
137 tokenResponse.setRefreshToken(null);
138 tokenResponse.setRefreshExpiresIn(0);
139 tokenResponse.getOtherClaims().clear();
140 tokenResponse.getOtherClaims().put(OAuth2Constants.ISSUED_TOKEN_TYPE,
TWITTER_TOKEN_TYPE);
141 tokenResponse.getOtherClaims().put(ACCOUNT_LINK_URL, getLinkingUrl(uriInfo, authorizedClient, tokenUserSession));
142 return Response.ok(tokenResponse).type(MediaType.APPLICATION_JSON_TYPE).build();
String TWITTER_TOKEN_TYPE
Definition: TwitterIdentityProvider.java:67