@ -28,11 +28,9 @@ import org.wso2.carbon.identity.core.util.IdentityTenantUtil;
import org.wso2.carbon.identity.oauth.cache.CacheEntry ;
import org.wso2.carbon.identity.oauth.cache.CacheEntry ;
import org.wso2.carbon.identity.oauth.cache.OAuthCache ;
import org.wso2.carbon.identity.oauth.cache.OAuthCache ;
import org.wso2.carbon.identity.oauth.cache.OAuthCacheKey ;
import org.wso2.carbon.identity.oauth.cache.OAuthCacheKey ;
import org.wso2.carbon.identity.oauth.config.OAuthServerConfiguration ;
import org.wso2.carbon.identity.oauth2.IdentityOAuth2Exception ;
import org.wso2.carbon.identity.oauth2.IdentityOAuth2Exception ;
import org.wso2.carbon.identity.oauth2.dao.OAuthScopeDAO ;
import org.wso2.carbon.identity.oauth2.dao.OAuthScopeDAOImpl ;
import org.wso2.carbon.identity.oauth2.dao.OAuthScopeDAOImpl ;
import org.wso2.carbon.identity.oauth2.dao.TokenM gtDAO;
import org.wso2.carbon.identity.oauth2.dao.TokenM ana gemen tDAOImpl ;
import org.wso2.carbon.identity.oauth2.model.AccessTokenDO ;
import org.wso2.carbon.identity.oauth2.model.AccessTokenDO ;
import org.wso2.carbon.identity.oauth2.model.ResourceScopeCacheEntry ;
import org.wso2.carbon.identity.oauth2.model.ResourceScopeCacheEntry ;
import org.wso2.carbon.identity.oauth2.validators.OAuth2ScopeValidator ;
import org.wso2.carbon.identity.oauth2.validators.OAuth2ScopeValidator ;
@ -64,12 +62,12 @@ public class ExtendedJDBCScopeValidator extends OAuth2ScopeValidator {
}
}
String resourceScope = null ;
String resourceScope = null ;
// TokenMgtDAO tokenMgtDAO = new TokenMgtDAO();
OAuthScopeDAOImpl scopeDAO = new OAuthScopeDAOImpl ( ) ;
OAuthScopeDAOImpl scopeDAO = new OAuthScopeDAOImpl ( ) ;
TokenManagementDAOImpl tokenManagementDAO = new TokenManagementDAOImpl ( ) ;
boolean cacheHit = false ;
boolean cacheHit = false ;
// Check the cache, if caching is enabled.
// Check the cache, if caching is enabled.
if ( OAuth ServerConfiguration . getInstance ( ) . is Cache Enabled( ) ) {
if ( OAuth Cache . getInstance ( ) . is Enabled( ) ) {
OAuthCache oauthCache = OAuthCache . getInstance ( ) ;
OAuthCache oauthCache = OAuthCache . getInstance ( ) ;
OAuthCacheKey cacheKey = new OAuthCacheKey ( resource ) ;
OAuthCacheKey cacheKey = new OAuthCacheKey ( resource ) ;
CacheEntry result = oauthCache . getValueFromCache ( cacheKey ) ;
CacheEntry result = oauthCache . getValueFromCache ( cacheKey ) ;
@ -82,9 +80,9 @@ public class ExtendedJDBCScopeValidator extends OAuth2ScopeValidator {
}
}
if ( ! cacheHit ) {
if ( ! cacheHit ) {
resourceScope = scopeDAO. findScopeOfResource ( resource ) ;
resourceScope = tokenManagementDAO. findTenantAndScopeOfResource ( resource ) . getKey ( ) ;
if ( OAuth ServerConfiguration . getInstance ( ) . is Cache Enabled( ) ) {
if ( OAuth Cache . getInstance ( ) . is Enabled( ) ) {
OAuthCache oauthCache = OAuthCache . getInstance ( ) ;
OAuthCache oauthCache = OAuthCache . getInstance ( ) ;
OAuthCacheKey cacheKey = new OAuthCacheKey ( resource ) ;
OAuthCacheKey cacheKey = new OAuthCacheKey ( resource ) ;
ResourceScopeCacheEntry cacheEntry = new ResourceScopeCacheEntry ( resourceScope ) ;
ResourceScopeCacheEntry cacheEntry = new ResourceScopeCacheEntry ( resourceScope ) ;
@ -114,8 +112,12 @@ public class ExtendedJDBCScopeValidator extends OAuth2ScopeValidator {
}
}
try {
try {
User authorizedUser = accessTokenDO . getAuthzUser ( ) ;
RealmService realmService = OAuthExtensionsDataHolder . getInstance ( ) . getRealmService ( ) ;
int tenantId = realmService . getTenantManager ( ) . getTenantId ( authorizedUser . getTenantDomain ( ) ) ;
//Get the permissions associated with the scope, if any
//Get the permissions associated with the scope, if any
Set < String > permissionsOfScope = scopeDAO . getBindingsOfScopeByScopeName ( resourceScope ) ;
Set < String > permissionsOfScope = scopeDAO . getBindingsOfScopeByScopeName ( resourceScope , tenantId );
//If the scope doesn't have any permissions associated with it.
//If the scope doesn't have any permissions associated with it.
if ( permissionsOfScope = = null | | permissionsOfScope . isEmpty ( ) ) {
if ( permissionsOfScope = = null | | permissionsOfScope . isEmpty ( ) ) {
@ -134,10 +136,6 @@ public class ExtendedJDBCScopeValidator extends OAuth2ScopeValidator {
log . debug ( logMessage . toString ( ) ) ;
log . debug ( logMessage . toString ( ) ) ;
}
}
User authorizedUser = accessTokenDO . getAuthzUser ( ) ;
RealmService realmService = OAuthExtensionsDataHolder . getInstance ( ) . getRealmService ( ) ;
int tenantId = realmService . getTenantManager ( ) . getTenantId ( authorizedUser . getTenantDomain ( ) ) ;
if ( tenantId = = 0 | | tenantId = = - 1 ) {
if ( tenantId = = 0 | | tenantId = = - 1 ) {
tenantId = IdentityTenantUtil . getTenantIdOfUser ( authorizedUser . getUserName ( ) ) ;
tenantId = IdentityTenantUtil . getTenantIdOfUser ( authorizedUser . getUserName ( ) ) ;