Class XSUserInfoAdapter
- java.lang.Object
-
- com.sap.cloud.security.adapter.xs.XSUserInfoAdapter
-
- All Implemented Interfaces:
XSUserInfo
public class XSUserInfoAdapter extends Object implements XSUserInfo
This class implements theXSUserInfointerface by wrapping and delegating calls to anAccessToken. Other implementations ofXSUserInfosupport loading the token from the the spring security context holder. This is not supported by this class! It also does not support the SAPAuthorizationExtension.
-
-
Constructor Summary
Constructors Constructor Description XSUserInfoAdapter(AccessToken accessToken)XSUserInfoAdapter(Object accessToken)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancheckLocalScope(String scope)booleancheckScope(String scope)StringgetAdditionalAuthAttribute(String attributeName)StringgetAppToken()String[]getAttribute(String attributeName)StringgetClientId()StringgetCloneServiceInstanceId()StringgetDBToken()StringgetEmail()StringgetFamilyName()StringgetGivenName()StringgetGrantType()StringgetHdbToken()StringgetIdentityZone()StringgetJsonValue(String attribute)StringgetLogonName()Loading the token from the security context like this is not supported! XSUserInfoAdapter() { Authentication auth = SecurityContextHolder.getContext().getAuthentication(); if (auth instanceof OAuth2Authentication) { SAPAuthorizationExtension extension = (SAPAuthorizationExtension) ((OAuth2Authentication) auth).getOAuth2Request().getExtensions().get("sap"); if (extension != null) { this.foreignMode = extension.isForeignMode(); } } }StringgetOrigin()StringgetSubaccountId()StringgetSubdomain()String[]getSystemAttribute(String attributeName)StringgetToken(String namespace, String name)StringgetZoneId()booleanhasAttributes()booleanisInForeignMode()Check if a token issued for another OAuth client has been forwarded to a different client, This method does not support checking if the token can be accepted by Audience Validation.StringrequestToken(XSTokenRequest tokenRequest)StringrequestTokenForClient(String clientId, String clientSecret, String baseUaaUrl)StringrequestTokenForUser(String clientId, String clientSecret, String baseUaaUrl)
-
-
-
Constructor Detail
-
XSUserInfoAdapter
public XSUserInfoAdapter(Object accessToken)
-
XSUserInfoAdapter
public XSUserInfoAdapter(AccessToken accessToken)
-
-
Method Detail
-
getLogonName
public String getLogonName()
Loading the token from the security context like this is not supported! XSUserInfoAdapter() { Authentication auth = SecurityContextHolder.getContext().getAuthentication(); if (auth instanceof OAuth2Authentication) { SAPAuthorizationExtension extension = (SAPAuthorizationExtension) ((OAuth2Authentication) auth).getOAuth2Request().getExtensions().get("sap"); if (extension != null) { this.foreignMode = extension.isForeignMode(); } } }- Specified by:
getLogonNamein interfaceXSUserInfo
-
getGivenName
public String getGivenName()
- Specified by:
getGivenNamein interfaceXSUserInfo
-
getFamilyName
public String getFamilyName()
- Specified by:
getFamilyNamein interfaceXSUserInfo
-
getOrigin
public String getOrigin()
- Specified by:
getOriginin interfaceXSUserInfo
-
getIdentityZone
public String getIdentityZone()
- Specified by:
getIdentityZonein interfaceXSUserInfo
-
getSubaccountId
public String getSubaccountId()
- Specified by:
getSubaccountIdin interfaceXSUserInfo
-
getZoneId
public String getZoneId()
- Specified by:
getZoneIdin interfaceXSUserInfo
-
getSubdomain
public String getSubdomain()
- Specified by:
getSubdomainin interfaceXSUserInfo
-
getClientId
public String getClientId()
- Specified by:
getClientIdin interfaceXSUserInfo
-
getJsonValue
public String getJsonValue(String attribute)
- Specified by:
getJsonValuein interfaceXSUserInfo
-
getEmail
public String getEmail()
- Specified by:
getEmailin interfaceXSUserInfo
-
getDBToken
public String getDBToken()
- Specified by:
getDBTokenin interfaceXSUserInfo
-
getHdbToken
public String getHdbToken()
- Specified by:
getHdbTokenin interfaceXSUserInfo
-
getAppToken
public String getAppToken()
- Specified by:
getAppTokenin interfaceXSUserInfo
-
getToken
public String getToken(String namespace, String name)
- Specified by:
getTokenin interfaceXSUserInfo
-
getAttribute
public String[] getAttribute(String attributeName)
- Specified by:
getAttributein interfaceXSUserInfo
-
hasAttributes
public boolean hasAttributes()
- Specified by:
hasAttributesin interfaceXSUserInfo
-
getSystemAttribute
public String[] getSystemAttribute(String attributeName)
- Specified by:
getSystemAttributein interfaceXSUserInfo
-
checkScope
public boolean checkScope(String scope)
- Specified by:
checkScopein interfaceXSUserInfo
-
checkLocalScope
public boolean checkLocalScope(String scope)
- Specified by:
checkLocalScopein interfaceXSUserInfo
-
getAdditionalAuthAttribute
public String getAdditionalAuthAttribute(String attributeName)
- Specified by:
getAdditionalAuthAttributein interfaceXSUserInfo
-
getCloneServiceInstanceId
public String getCloneServiceInstanceId()
- Specified by:
getCloneServiceInstanceIdin interfaceXSUserInfo
-
getGrantType
public String getGrantType()
- Specified by:
getGrantTypein interfaceXSUserInfo
-
isInForeignMode
public boolean isInForeignMode()
Check if a token issued for another OAuth client has been forwarded to a different client, This method does not support checking if the token can be accepted by Audience Validation.- Specified by:
isInForeignModein interfaceXSUserInfo- Returns:
- true if token was forwarded or if it cannot be determined.
-
requestTokenForClient
public String requestTokenForClient(String clientId, String clientSecret, String baseUaaUrl)
- Specified by:
requestTokenForClientin interfaceXSUserInfo
-
requestTokenForUser
public String requestTokenForUser(String clientId, String clientSecret, String baseUaaUrl)
- Specified by:
requestTokenForUserin interfaceXSUserInfo
-
requestToken
public String requestToken(XSTokenRequest tokenRequest)
- Specified by:
requestTokenin interfaceXSUserInfo
-
-