package com.github.hburgmeier.jerseyoauth2.authsrv.impl.protocol; import java.util.Map; import java.util.Set; import com.github.hburgmeier.jerseyoauth2.authsrv.api.IConfiguration; import com.github.hburgmeier.jerseyoauth2.authsrv.api.ScopeDescription; public class ScopeValidator { protected final IConfiguration configuration; public ScopeValidator(IConfiguration configuration) { this.configuration = configuration; } public void validateScopes(Set<String> scopes) throws InvalidScopeException { Map<String, ScopeDescription> scopeDescriptions = configuration.getScopeDescriptions(); for (String scope : scopes) { if (!scopeDescriptions.containsKey(scope)) { throw new InvalidScopeException(scope); } } } public boolean isScopeEqual(Set<String> scopes1, Set<String> scopes2) { return scopes1.containsAll(scopes2) && scopes2.containsAll(scopes1); } }