Class PowerAuthAuthenticationProvider
- java.lang.Object
-
- io.getlime.security.powerauth.rest.api.base.provider.PowerAuthAuthenticationProviderBase
-
- io.getlime.security.powerauth.rest.api.spring.provider.PowerAuthAuthenticationProvider
-
- All Implemented Interfaces:
org.springframework.security.authentication.AuthenticationProvider
@Component public class PowerAuthAuthenticationProvider extends io.getlime.security.powerauth.rest.api.base.provider.PowerAuthAuthenticationProviderBase implements org.springframework.security.authentication.AuthenticationProviderImplementation of PowerAuth authentication provider.- Author:
- Petr Dvorak, petr@wultra.com
-
-
Constructor Summary
Constructors Constructor Description PowerAuthAuthenticationProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.springframework.security.core.Authenticationauthenticate(org.springframework.security.core.Authentication authentication)voidsetApplicationConfiguration(io.getlime.security.powerauth.rest.api.base.application.PowerAuthApplicationConfiguration applicationConfiguration)voidsetPowerAuthClient(io.getlime.security.powerauth.soap.spring.client.PowerAuthServiceClient powerAuthClient)booleansupports(java.lang.Class<?> authentication)io.getlime.security.powerauth.rest.api.base.authentication.PowerAuthApiAuthenticationvalidateRequestSignature(java.lang.String httpMethod, byte[] httpBody, java.lang.String requestUriIdentifier, java.lang.String httpAuthorizationHeader, java.util.List<io.getlime.security.powerauth.crypto.lib.enums.PowerAuthSignatureTypes> allowedSignatureTypes, java.lang.Integer forcedSignatureVersion)Validate the signature from the PowerAuth HTTP header against the provided HTTP method, request body and URI identifier.io.getlime.security.powerauth.rest.api.base.authentication.PowerAuthApiAuthenticationvalidateToken(java.lang.String tokenHeader, java.util.List<io.getlime.security.powerauth.crypto.lib.enums.PowerAuthSignatureTypes> allowedSignatureTypes)
-
-
-
Method Detail
-
setPowerAuthClient
@Autowired public void setPowerAuthClient(io.getlime.security.powerauth.soap.spring.client.PowerAuthServiceClient powerAuthClient)
-
setApplicationConfiguration
@Autowired(required=false) public void setApplicationConfiguration(io.getlime.security.powerauth.rest.api.base.application.PowerAuthApplicationConfiguration applicationConfiguration)
-
authenticate
public org.springframework.security.core.Authentication authenticate(org.springframework.security.core.Authentication authentication) throws org.springframework.security.core.AuthenticationException- Specified by:
authenticatein interfaceorg.springframework.security.authentication.AuthenticationProvider- Throws:
org.springframework.security.core.AuthenticationException
-
supports
public boolean supports(java.lang.Class<?> authentication)
- Specified by:
supportsin interfaceorg.springframework.security.authentication.AuthenticationProvider
-
validateRequestSignature
public io.getlime.security.powerauth.rest.api.base.authentication.PowerAuthApiAuthentication validateRequestSignature(java.lang.String httpMethod, byte[] httpBody, java.lang.String requestUriIdentifier, java.lang.String httpAuthorizationHeader, java.util.List<io.getlime.security.powerauth.crypto.lib.enums.PowerAuthSignatureTypes> allowedSignatureTypes, @Nullable java.lang.Integer forcedSignatureVersion) throws io.getlime.security.powerauth.rest.api.base.exception.PowerAuthAuthenticationExceptionValidate the signature from the PowerAuth HTTP header against the provided HTTP method, request body and URI identifier. Make sure to accept only allowed signatures.- Specified by:
validateRequestSignaturein classio.getlime.security.powerauth.rest.api.base.provider.PowerAuthAuthenticationProviderBase- Parameters:
httpMethod- HTTP method (GET, POST, ...)httpBody- Body of the HTTP request.requestUriIdentifier- Request URI identifier.httpAuthorizationHeader- PowerAuth HTTP authorization header.allowedSignatureTypes- Allowed types of the signature.forcedSignatureVersion- Forced signature version, optional parameter used during upgrade.- Returns:
- Instance of a PowerAuthApiAuthenticationImpl on successful authorization.
- Throws:
io.getlime.security.powerauth.rest.api.base.exception.PowerAuthAuthenticationException- In case authorization fails, exception is raised.
-
validateToken
public io.getlime.security.powerauth.rest.api.base.authentication.PowerAuthApiAuthentication validateToken(java.lang.String tokenHeader, java.util.List<io.getlime.security.powerauth.crypto.lib.enums.PowerAuthSignatureTypes> allowedSignatureTypes) throws io.getlime.security.powerauth.rest.api.base.exception.PowerAuthAuthenticationException- Specified by:
validateTokenin classio.getlime.security.powerauth.rest.api.base.provider.PowerAuthAuthenticationProviderBase- Throws:
io.getlime.security.powerauth.rest.api.base.exception.PowerAuthAuthenticationException
-
-