package org.springframework.security.oauth2.client.resource; import java.util.List; import org.springframework.security.oauth2.common.AuthenticationScheme; import org.springframework.security.oauth2.common.OAuth2AccessToken; import org.springframework.util.StringUtils; /** * @author Ryan Heaton * @author Dave Syer */ public class BaseOAuth2ProtectedResourceDetails implements OAuth2ProtectedResourceDetails { private String id; private String grantType = "unsupported"; private String clientId; private String accessTokenUri; private List<String> scope; private String clientSecret; private AuthenticationScheme clientAuthenticationScheme = AuthenticationScheme.header; private AuthenticationScheme authorizationScheme = AuthenticationScheme.header; private String tokenName = OAuth2AccessToken.ACCESS_TOKEN; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getClientId() { return clientId; } public void setClientId(String clientId) { this.clientId = clientId; } public String getAccessTokenUri() { return accessTokenUri; } public void setAccessTokenUri(String accessTokenUri) { this.accessTokenUri = accessTokenUri; } public boolean isScoped() { return scope != null && !scope.isEmpty(); } public List<String> getScope() { return scope; } public void setScope(List<String> scope) { this.scope = scope; } public boolean isAuthenticationRequired() { return StringUtils.hasText(clientId) && clientAuthenticationScheme != AuthenticationScheme.none; } public String getClientSecret() { return clientSecret; } public void setClientSecret(String clientSecret) { this.clientSecret = clientSecret; } public AuthenticationScheme getClientAuthenticationScheme() { return clientAuthenticationScheme; } public void setClientAuthenticationScheme(AuthenticationScheme clientAuthenticationScheme) { this.clientAuthenticationScheme = clientAuthenticationScheme; } public boolean isClientOnly() { return false; } public AuthenticationScheme getAuthenticationScheme() { return authorizationScheme; } public void setAuthenticationScheme(AuthenticationScheme authorizationScheme) { this.authorizationScheme = authorizationScheme; } public String getTokenName() { return tokenName; } public void setTokenName(String tokenName) { this.tokenName = tokenName; } public String getGrantType() { return grantType; } public void setGrantType(String grantType) { this.grantType = grantType; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof BaseOAuth2ProtectedResourceDetails)) { return false; } BaseOAuth2ProtectedResourceDetails that = (BaseOAuth2ProtectedResourceDetails) o; return !(id != null ? !id.equals(that.id) : that.id != null); } @Override public int hashCode() { return id != null ? id.hashCode() : 0; } }