public class JWTAuthority extends JWTConsumer implements org.springframework.beans.factory.InitializingBean
| Modifier and Type | Field and Description |
|---|---|
protected AuthorityKeyProvider |
authorityKeyProvider |
protected org.springframework.security.crypto.password.PasswordEncoder |
passwordEncoder |
protected boolean |
refreshSessionOnAuthentication |
protected boolean |
refreshSessionOnRenewal |
protected int |
sessionInvalidationDelayInMinutes |
protected SessionProvider |
sessionProvider |
protected int |
tokenLifetimeInSeconds |
protected org.springframework.security.core.userdetails.UserDetailsChecker |
userDetailsChecker |
protected org.springframework.security.core.userdetails.UserDetailsService |
userDetailsService |
authoritiesParameterName, jwtAuthorityConnector, jwtRequestResponseHandler, sessionIdParameterName, signingKeyResolver, SPRING_SECURITY_JWT_AUTHORITIES_PARAMETER_NAME, SPRING_SECURITY_JWT_SESSION_ID_PARAMETER_NAME, SPRING_SECURITY_JWT_XSRF_PARAMETER_NAME, TEN_YEARS_IN_SECONDS, xsrfParameterName| Constructor and Description |
|---|
JWTAuthority(org.springframework.security.core.userdetails.UserDetailsService userDetailsService) |
| Modifier and Type | Method and Description |
|---|---|
void |
afterPropertiesSet() |
JWTContext |
authenticateJWTRequest(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) |
JWTContext |
authenticateLoginRequest(Credentials credentials,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) |
protected String |
convertToString(Collection<? extends org.springframework.security.core.GrantedAuthority> authorities) |
JWTContext |
create(String principal,
Parameters parameters)
Creates
JWTContext for given principal. |
JWTContext |
createAndAttach(String principal,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Parameters parameters) |
JWTContext |
createAndAttachInvalidToken(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
This method can be used to overwrite existing valid token on the client side.
|
protected String |
generateXSRFToken() |
AuthorityKeyProvider |
getAuthorityKeyProvider() |
protected List<String> |
getAuthorityListAsString(Collection<? extends org.springframework.security.core.GrantedAuthority> authorities) |
org.springframework.security.crypto.password.PasswordEncoder |
getPasswordEncoder() |
int |
getSessionInvalidationDelayInMinutes() |
SessionProvider |
getSessionProvider() |
int |
getTokenLifetimeInSeconds() |
protected org.springframework.security.core.userdetails.UserDetails |
getUserDetails(String principal) |
org.springframework.security.core.userdetails.UserDetailsChecker |
getUserDetailsChecker() |
org.springframework.security.core.userdetails.UserDetailsService |
getUserDetailsService() |
protected void |
handleJWTContext(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
JWTContext jwtContext) |
boolean |
isTokenRenewalEnabled() |
protected boolean |
isXSRFProtectionDisabled(Parameters parameters) |
protected void |
refreshSession(JWTContext jwtContext) |
JWTContext |
renew(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) |
JWTContext |
renew(TokenContainer tokenContainer,
Parameters parameters) |
void |
setAuthorityKeyProvider(AuthorityKeyProvider authorityKeyProvider) |
void |
setPasswordEncoder(org.springframework.security.crypto.password.PasswordEncoder passwordEncoder)
Set custom password encoder.
|
void |
setRefreshSessionOnAuthentication(boolean refreshSessionOnAuthentication)
Refresh related session on each JWT authentication step.
|
void |
setRefreshSessionOnRenewal(boolean refreshSessionOnRenewal)
Refresh related session on each JWT renewal.
|
void |
setSessionInvalidationDelayInMinutes(int sessionInvalidationDelayInMinutes)
Set session invalidation delay in minutes.
|
void |
setSessionProvider(SessionProvider sessionProvider) |
void |
setTokenLifetimeInSeconds(int tokenLifetimeInSeconds)
Set token lifetime in seconds.
|
void |
setUserDetailsChecker(org.springframework.security.core.userdetails.UserDetailsChecker userDetailsChecker)
Set
UserDetailsChecker which will be used to validate the loaded UserDetails object. |
void |
setUserDetailsService(org.springframework.security.core.userdetails.UserDetailsService userDetailsService) |
createJWTContext, extractPrincipal, extractSessionId, getAuthorities, getJWTModeFromParameters, getJwtRequestResponseHandler, setAuthoritiesParameterName, setJWTAuthorityConnector, setJwtRequestResponseHandler, setSessionIdParameterName, setSigningKeyResolver, setXsrfParameterName, validate, validateXSRFprotected org.springframework.security.core.userdetails.UserDetailsService userDetailsService
protected SessionProvider sessionProvider
protected org.springframework.security.core.userdetails.UserDetailsChecker userDetailsChecker
protected int tokenLifetimeInSeconds
protected int sessionInvalidationDelayInMinutes
protected org.springframework.security.crypto.password.PasswordEncoder passwordEncoder
protected AuthorityKeyProvider authorityKeyProvider
protected boolean refreshSessionOnAuthentication
protected boolean refreshSessionOnRenewal
public JWTAuthority(org.springframework.security.core.userdetails.UserDetailsService userDetailsService)
public JWTContext authenticateJWTRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
authenticateJWTRequest in class JWTConsumerpublic JWTContext authenticateLoginRequest(Credentials credentials, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
public JWTContext createAndAttach(String principal, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Parameters parameters)
public JWTContext createAndAttachInvalidToken(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
request - HttpServletRequest objectresponse - HttpServletResponse objectJWTContext object.public JWTContext create(String principal, Parameters parameters) throws UserNotFoundException
JWTContext for given principal. A JWTContext contains all relevant tokens (like JWT or
XSRF Tokens) and JWTAuthentication object, which is relevant for Spring-Security.principal - Unique user identifier. This can be the user name or user id according to underlying implementation.JWTContext object.UserNotFoundException - if the user identified with given principal cannot be found.public JWTContext renew(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
public JWTContext renew(TokenContainer tokenContainer, Parameters parameters)
public void afterPropertiesSet()
throws Exception
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBeanafterPropertiesSet in class JWTConsumerExceptionpublic boolean isTokenRenewalEnabled()
public org.springframework.security.core.userdetails.UserDetailsService getUserDetailsService()
public void setUserDetailsService(org.springframework.security.core.userdetails.UserDetailsService userDetailsService)
public void setSessionProvider(SessionProvider sessionProvider)
public void setAuthorityKeyProvider(AuthorityKeyProvider authorityKeyProvider)
public void setUserDetailsChecker(org.springframework.security.core.userdetails.UserDetailsChecker userDetailsChecker)
UserDetailsChecker which will be used to validate the loaded UserDetails object.userDetailsChecker - An instance of user details checker implementation.public void setTokenLifetimeInSeconds(int tokenLifetimeInSeconds)
tokenLifetimeInSeconds - Token lifetime in seconds.public void setSessionInvalidationDelayInMinutes(int sessionInvalidationDelayInMinutes)
sessionInvalidationDelayInMinutes - Session invalidation delay in minutes.public void setPasswordEncoder(org.springframework.security.crypto.password.PasswordEncoder passwordEncoder)
passwordEncoder - Password encoderpublic SessionProvider getSessionProvider()
public org.springframework.security.core.userdetails.UserDetailsChecker getUserDetailsChecker()
public int getTokenLifetimeInSeconds()
public int getSessionInvalidationDelayInMinutes()
public org.springframework.security.crypto.password.PasswordEncoder getPasswordEncoder()
public AuthorityKeyProvider getAuthorityKeyProvider()
public void setRefreshSessionOnAuthentication(boolean refreshSessionOnAuthentication)
refreshSessionOnAuthentication - public void setRefreshSessionOnRenewal(boolean refreshSessionOnRenewal)
refreshSessionOnRenewal - protected String generateXSRFToken()
protected String convertToString(Collection<? extends org.springframework.security.core.GrantedAuthority> authorities)
protected org.springframework.security.core.userdetails.UserDetails getUserDetails(String principal)
protected List<String> getAuthorityListAsString(Collection<? extends org.springframework.security.core.GrantedAuthority> authorities)
protected void refreshSession(JWTContext jwtContext)
protected void handleJWTContext(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
JWTContext jwtContext)
handleJWTContext in class JWTConsumerprotected boolean isXSRFProtectionDisabled(Parameters parameters)
Copyright © 2019 S&C Software. All rights reserved.