@Override public List<String> getScopeNames(int tenantId) throws IdentityOAuth2Exception { OIDCScopeClaimCacheEntry oidcScopeClaimCacheEntry = oidcScopeClaimCache.getScopeClaimMap(tenantId); oidcScopeClaimCacheEntry = loadOIDCScopeClaims(tenantId, oidcScopeClaimCacheEntry); List<String> scopes = new ArrayList<>(); for (ScopeDTO scopeDTO : oidcScopeClaimCacheEntry.getScopeClaimMapping()) { scopes.add(scopeDTO.getName()); } return scopes; }
@Override public ScopeDTO getClaims(String scope, int tenantId) throws IdentityOAuth2Exception { OIDCScopeClaimCacheEntry oidcScopeClaimCacheEntry = oidcScopeClaimCache.getScopeClaimMap(tenantId); oidcScopeClaimCacheEntry = loadOIDCScopeClaims(tenantId, oidcScopeClaimCacheEntry); ScopeDTO scopeDTO = new ScopeDTO(); for (ScopeDTO scopeObj : oidcScopeClaimCacheEntry.getScopeClaimMapping()) { if (scope.equals(scopeObj.getName()) && scopeObj.getClaim() != null) { scopeDTO = scopeObj; } } return scopeDTO; }
public static List<String> getOIDCScopes(String tenantDomain) { List<String> scopes = new ArrayList<>(); try { int tenantId = OAuthComponentServiceHolder.getInstance().getRealmService().getTenantManager() .getTenantId(tenantDomain); // Get the scopes from the cache or the db List<ScopeDTO> scopesDTOList = OAuthTokenPersistenceFactory.getInstance().getScopeClaimMappingDAO(). getScopes(tenantId); if (CollectionUtils.isNotEmpty(scopesDTOList)) { for (ScopeDTO scope : scopesDTOList) { scopes.add(scope.getName()); } } } catch (UserStoreException | IdentityOAuth2Exception e) { log.error("Error while retrieving OIDC scopes.", e); } return scopes; }
scopeClaimsMap.put(scope.getName(), Arrays.asList(scope.getClaim()));
String scope = scopeDTO.getName(); String[] claims = scopeDTO.getClaim(); try {