Class JwtFormat


  • public final class JwtFormat
    extends java.lang.Object
    Helper functions to format JWT objects
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  JwtFormat.Parts
      Encodes the parts of a JWT.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String createHeader​(java.lang.String algorithm, java.util.Optional<java.lang.String> typeHeader, java.util.Optional<java.lang.String> kid)  
      static java.lang.String createSignedCompact​(java.lang.String unsignedCompact, byte[] signature)  
      static java.lang.String createUnsignedCompact​(java.lang.String algorithm, java.util.Optional<java.lang.String> kid, RawJwt rawJwt)  
      static java.lang.String decodeHeader​(java.lang.String headerStr)  
      static java.lang.String decodePayload​(java.lang.String payloadStr)  
      static byte[] decodeSignature​(java.lang.String signatureStr)  
      static java.lang.String encodePayload​(java.lang.String jsonPayload)  
      static java.lang.String encodeSignature​(byte[] signature)  
      static java.util.Optional<java.lang.Integer> getKeyId​(java.lang.String kid)  
      static java.util.Optional<java.lang.String> getKid​(int keyId, com.google.crypto.tink.proto.OutputPrefixType prefix)  
      static java.lang.String getStringHeader​(com.google.gson.JsonObject header, java.lang.String name)  
      static java.util.Optional<java.lang.String> getTypeHeader​(com.google.gson.JsonObject header)  
      static boolean isValidUrlsafeBase64Char​(char c)  
      static JwtFormat.Parts splitSignedCompact​(java.lang.String signedCompact)  
      static byte[] strictUrlSafeDecode​(java.lang.String encodedData)  
      static void validateASCII​(java.lang.String data)  
      static void validateHeader​(com.google.gson.JsonObject parsedHeader, java.lang.String algorithmFromKey, java.util.Optional<java.lang.String> kidFromKey, boolean allowKidAbsent)  
      static void validateUtf8​(byte[] data)  
      • Methods inherited from class java.lang.Object

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

      • isValidUrlsafeBase64Char

        public static boolean isValidUrlsafeBase64Char​(char c)
      • createHeader

        public static java.lang.String createHeader​(java.lang.String algorithm,
                                                    java.util.Optional<java.lang.String> typeHeader,
                                                    java.util.Optional<java.lang.String> kid)
                                             throws java.security.InvalidAlgorithmParameterException
        Throws:
        java.security.InvalidAlgorithmParameterException
      • validateHeader

        public static void validateHeader​(com.google.gson.JsonObject parsedHeader,
                                          java.lang.String algorithmFromKey,
                                          java.util.Optional<java.lang.String> kidFromKey,
                                          boolean allowKidAbsent)
                                   throws java.security.GeneralSecurityException
        Throws:
        java.security.GeneralSecurityException
      • encodePayload

        public static java.lang.String encodePayload​(java.lang.String jsonPayload)
      • encodeSignature

        public static java.lang.String encodeSignature​(byte[] signature)
      • getKid

        public static java.util.Optional<java.lang.String> getKid​(int keyId,
                                                                  com.google.crypto.tink.proto.OutputPrefixType prefix)
                                                           throws JwtInvalidException
        Throws:
        JwtInvalidException
      • getKeyId

        public static java.util.Optional<java.lang.Integer> getKeyId​(java.lang.String kid)
      • createUnsignedCompact

        public static java.lang.String createUnsignedCompact​(java.lang.String algorithm,
                                                             java.util.Optional<java.lang.String> kid,
                                                             RawJwt rawJwt)
                                                      throws java.security.InvalidAlgorithmParameterException,
                                                             JwtInvalidException
        Throws:
        java.security.InvalidAlgorithmParameterException
        JwtInvalidException
      • createSignedCompact

        public static java.lang.String createSignedCompact​(java.lang.String unsignedCompact,
                                                           byte[] signature)