package org.jboss.resteasy.auth.oauth; import java.util.Arrays; import java.util.HashSet; import java.util.Set; /** * Represents an OAuth Consumer. * @author Stéphane Épardaud <stef@epardaud.fr> */ public class OAuthConsumer { private String key; private String secret; private String displayName; private String connectURI; private Set<String> scopes; private String[] permissions; public OAuthConsumer(String key, String secret, String displayName, String connectURI) { this.key = key; this.secret = secret; this.displayName = displayName; this.connectURI = connectURI; } public OAuthConsumer(String key, String secret, String displayName, String connectURI, String[] perms) { this.key = key; this.secret = secret; this.displayName = displayName; this.connectURI = connectURI; this.permissions = perms; } /** * Returns the OAuth Consumer's key */ public String getKey() { return key; } /** * Returns the OAuth Consumer's private secret. */ public String getSecret() { return secret; } /** * Returns the OAuth Consumer's display name. */ public String getDisplayName() { return displayName; } /** * Returns the OAuth Consumer's connect URI. * If provided then it will be used to validate callback URLs which consumer * will provide during request token acquisition requests */ public String getConnectURI() { return connectURI; } /** * Returns the OAuth Consumer's scopes. These are the scopes the consumer * will be able to access directly */ public String[] getScopes() { synchronized (this) { return scopes != null ? scopes.toArray(new String[]{}) : null; } } public void setScopes(String[] scopes) { synchronized (this) { this.scopes = new HashSet<String>(Arrays.asList(scopes)); } } public String[] getPermissions() { return permissions; } }