Skip to content
Snippets Groups Projects
Verified Commit 9eef74b4 authored by Dominik Frantisek Bucik's avatar Dominik Frantisek Bucik
Browse files

fix: :bug: use def. scopes if no scope param is present in tok exch

Use default scopes - intersection of subject token scopes and allowed
client scopes for token exchange
parent e3a4eec5
No related branches found
No related tags found
1 merge request!370fix: 🐛 use def. scopes if no scope param is present in tok exch
Pipeline #383816 passed
......@@ -116,8 +116,11 @@ public class OAuthTokenExchangeGranter extends BaseTokenExchangeGranter {
token.setClient(client);
Set<String> scopes = new HashSet<>();
if (tokenRequest.getScope() != null) {
if (tokenRequest.getScope() != null && !tokenRequest.getScope().isEmpty()) {
scopes.addAll(tokenRequest.getScope());
} else {
scopes.addAll(subjectToken.getScope());
scopes.retainAll(clientDetails.getScope());
}
boolean upScopingHappened = false;
if (!scopes.isEmpty()) {
......@@ -247,12 +250,6 @@ public class OAuthTokenExchangeGranter extends BaseTokenExchangeGranter {
return true;
}
@Override
public boolean supportsByParams(Map<String, String> parameters) {
boolean supports = super.supportsByParams(parameters);
return supports && parameters.containsKey(SCOPE);
}
private OAuth2RefreshTokenEntity createRefreshToken(ClientDetailsEntity client, AuthenticationHolderEntity authHolder) {
OAuth2RefreshTokenEntity refreshToken = new OAuth2RefreshTokenEntity();
JWTClaimsSet.Builder refreshClaims = new JWTClaimsSet.Builder();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment