only save strings in the Extensions map
parent
93a91c8f84
commit
a7905c9f82
|
@ -184,7 +184,7 @@ public class DefaultOAuth2ProviderTokenService implements OAuth2TokenEntityServi
|
|||
|
||||
if (originalAuthRequest.getExtensions() != null && originalAuthRequest.getExtensions().containsKey("approved_site")) {
|
||||
|
||||
Long apId = (Long) originalAuthRequest.getExtensions().get("approved_site");
|
||||
Long apId = Long.parseLong((String) originalAuthRequest.getExtensions().get("approved_site"));
|
||||
ApprovedSite ap = approvedSiteService.getById(apId);
|
||||
Set<OAuth2AccessTokenEntity> apTokens = ap.getApprovedAccessTokens();
|
||||
apTokens.add(savedToken);
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
*******************************************************************************/
|
||||
package org.mitre.openid.connect.request;
|
||||
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
|
@ -64,6 +65,7 @@ import static org.mitre.openid.connect.request.ConnectRequestParameters.PROMPT;
|
|||
import static org.mitre.openid.connect.request.ConnectRequestParameters.REDIRECT_URI;
|
||||
import static org.mitre.openid.connect.request.ConnectRequestParameters.REQUEST;
|
||||
import static org.mitre.openid.connect.request.ConnectRequestParameters.RESPONSE_TYPE;
|
||||
import static org.mitre.openid.connect.request.ConnectRequestParameters.SCOPE;
|
||||
import static org.mitre.openid.connect.request.ConnectRequestParameters.STATE;
|
||||
|
||||
@Component("connectOAuth2RequestFactory")
|
||||
|
@ -356,7 +358,7 @@ public class ConnectOAuth2RequestFactory extends DefaultOAuth2RequestFactory {
|
|||
request.getExtensions().put(PROMPT, prompt);
|
||||
}
|
||||
|
||||
Set<String> scope = OAuth2Utils.parseParameterList(claims.getStringClaim("scope"));
|
||||
Set<String> scope = OAuth2Utils.parseParameterList(claims.getStringClaim(SCOPE));
|
||||
if (scope != null && !scope.isEmpty()) {
|
||||
if (!scope.equals(request.getScope())) {
|
||||
logger.info("Mismatch between request object and regular parameter for scope, using request object");
|
||||
|
|
|
@ -27,6 +27,7 @@ public interface ConnectRequestParameters {
|
|||
public String LOGIN_HINT = "login_hint";
|
||||
public String MAX_AGE = "max_age";
|
||||
public String CLAIMS = "claims";
|
||||
public String SCOPE = "scope";
|
||||
public String NONCE = "nonce";
|
||||
public String PROMPT = "prompt";
|
||||
|
||||
|
|
|
@ -109,9 +109,9 @@ public class DefaultOIDCTokenService implements OIDCTokenService {
|
|||
|| (request.getExtensions().containsKey("idtoken")) // TODO: parse the ID Token claims (#473) -- for now assume it could be in there
|
||||
|| (client.getRequireAuthTime() != null && client.getRequireAuthTime())) {
|
||||
|
||||
Date authTime = (Date) request.getExtensions().get(AuthenticationTimeStamper.AUTH_TIMESTAMP);
|
||||
if (authTime != null) {
|
||||
idClaims.setClaim("auth_time", authTime.getTime() / 1000);
|
||||
Long authTimestamp = Long.parseLong((String) request.getExtensions().get(AuthenticationTimeStamper.AUTH_TIMESTAMP));
|
||||
if (authTimestamp != null) {
|
||||
idClaims.setClaim("auth_time", authTimestamp / 1000L);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -162,7 +162,8 @@ public class TofuUserApprovalHandler implements UserApprovalHandler {
|
|||
ap.setAccessDate(new Date());
|
||||
approvedSiteService.save(ap);
|
||||
|
||||
authorizationRequest.getExtensions().put(APPROVED_SITE, ap.getId());
|
||||
String apId = ap.getId().toString();
|
||||
authorizationRequest.getExtensions().put(APPROVED_SITE, apId);
|
||||
authorizationRequest.setApproved(true);
|
||||
alreadyApproved = true;
|
||||
|
||||
|
@ -177,7 +178,8 @@ public class TofuUserApprovalHandler implements UserApprovalHandler {
|
|||
|
||||
//Create an approved site
|
||||
ApprovedSite newSite = approvedSiteService.createApprovedSite(clientId, userId, null, ws.getAllowedScopes(), ws);
|
||||
authorizationRequest.getExtensions().put(APPROVED_SITE, newSite.getId());
|
||||
String newSiteId = newSite.getId().toString();
|
||||
authorizationRequest.getExtensions().put(APPROVED_SITE, newSiteId);
|
||||
authorizationRequest.setApproved(true);
|
||||
|
||||
setAuthTime(authorizationRequest);
|
||||
|
@ -252,7 +254,8 @@ public class TofuUserApprovalHandler implements UserApprovalHandler {
|
|||
}
|
||||
|
||||
ApprovedSite newSite = approvedSiteService.createApprovedSite(clientId, userId, timeout, allowedScopes, null);
|
||||
authorizationRequest.getExtensions().put(APPROVED_SITE, newSite.getId());
|
||||
String newSiteId = newSite.getId().toString();
|
||||
authorizationRequest.getExtensions().put(APPROVED_SITE, newSiteId);
|
||||
}
|
||||
|
||||
setAuthTime(authorizationRequest);
|
||||
|
@ -277,7 +280,8 @@ public class TofuUserApprovalHandler implements UserApprovalHandler {
|
|||
if (session != null) {
|
||||
Date authTime = (Date) session.getAttribute(AuthenticationTimeStamper.AUTH_TIMESTAMP);
|
||||
if (authTime != null) {
|
||||
authorizationRequest.getExtensions().put(AuthenticationTimeStamper.AUTH_TIMESTAMP, authTime);
|
||||
String authTimeString = Long.toString(authTime.getTime());
|
||||
authorizationRequest.getExtensions().put(AuthenticationTimeStamper.AUTH_TIMESTAMP, authTimeString);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue