Class DoubleSubmitCSRF


  • public class DoubleSubmitCSRF
    extends java.lang.Object
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String CSRF_FAILED  
      protected static org.slf4j.Logger LOGGER  
      static java.lang.String SIGNATURE_INVALID  
    • Constructor Summary

      Constructors 
      Constructor Description
      DoubleSubmitCSRF​(org.rootservices.jwt.config.JwtAppFactory jwtAppFactory, RandomString randomString)  
      DoubleSubmitCSRF​(org.rootservices.jwt.config.JwtAppFactory jwtAppFactory, RandomString randomString, org.rootservices.jwt.entity.jwk.SymmetricKey preferredSignKey, java.util.Map<java.lang.String,​org.rootservices.jwt.entity.jwk.SymmetricKey> rotationSignKeys)  
    • Method Summary

      Modifier and Type Method Description
      org.rootservices.jwt.entity.jwt.JsonWebToken csrfToJwt​(java.lang.String encodedCsrfCookieValue)  
      java.lang.Boolean doTokensMatch​(java.lang.String cookieValue, java.lang.String formValue)  
      protected org.rootservices.jwt.entity.jwk.SymmetricKey getSignKey​(java.lang.String keyId)  
      java.lang.String makeChallengeToken()  
      Cookie makeCsrfCookie​(java.lang.String name, ChallengeToken challengeToken, java.lang.Boolean secure, int maxAge, java.lang.Boolean isHttpOnly)  
      void setPreferredSignKey​(org.rootservices.jwt.entity.jwk.SymmetricKey preferredSignKey)  
      void setRotationSignKeys​(java.util.Map<java.lang.String,​org.rootservices.jwt.entity.jwk.SymmetricKey> rotationSignKeys)  
      protected CsrfClaims toClaims​(java.lang.String value)  
      java.io.ByteArrayOutputStream toJwt​(ChallengeToken challengeToken)  
      protected java.lang.Boolean verifyCsrfCookieSignature​(org.rootservices.jwt.entity.jwt.JsonWebToken csrfJwt, org.rootservices.jwt.entity.jwk.SymmetricKey signKey)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • SIGNATURE_INVALID

        public static final java.lang.String SIGNATURE_INVALID
        See Also:
        Constant Field Values
      • LOGGER

        protected static org.slf4j.Logger LOGGER
    • Constructor Detail

      • DoubleSubmitCSRF

        public DoubleSubmitCSRF​(org.rootservices.jwt.config.JwtAppFactory jwtAppFactory,
                                RandomString randomString)
      • DoubleSubmitCSRF

        public DoubleSubmitCSRF​(org.rootservices.jwt.config.JwtAppFactory jwtAppFactory,
                                RandomString randomString,
                                org.rootservices.jwt.entity.jwk.SymmetricKey preferredSignKey,
                                java.util.Map<java.lang.String,​org.rootservices.jwt.entity.jwk.SymmetricKey> rotationSignKeys)
    • Method Detail

      • doTokensMatch

        public java.lang.Boolean doTokensMatch​(java.lang.String cookieValue,
                                               java.lang.String formValue)
      • csrfToJwt

        public org.rootservices.jwt.entity.jwt.JsonWebToken csrfToJwt​(java.lang.String encodedCsrfCookieValue)
                                                               throws CsrfException
        Throws:
        CsrfException
      • getSignKey

        protected org.rootservices.jwt.entity.jwk.SymmetricKey getSignKey​(java.lang.String keyId)
      • verifyCsrfCookieSignature

        protected java.lang.Boolean verifyCsrfCookieSignature​(org.rootservices.jwt.entity.jwt.JsonWebToken csrfJwt,
                                                              org.rootservices.jwt.entity.jwk.SymmetricKey signKey)
                                                       throws CsrfException
        Throws:
        CsrfException
      • makeChallengeToken

        public java.lang.String makeChallengeToken()
      • setPreferredSignKey

        public void setPreferredSignKey​(org.rootservices.jwt.entity.jwk.SymmetricKey preferredSignKey)
      • setRotationSignKeys

        public void setRotationSignKeys​(java.util.Map<java.lang.String,​org.rootservices.jwt.entity.jwk.SymmetricKey> rotationSignKeys)