Package org.keycloak.util
Class TokenUtil
- java.lang.Object
-
- org.keycloak.util.TokenUtil
-
public class TokenUtil extends Object
- Author:
- Marek Posolda
-
-
Field Summary
Fields Modifier and Type Field Description static StringTOKEN_BACKCHANNEL_LOGOUT_EVENTstatic StringTOKEN_BACKCHANNEL_LOGOUT_EVENT_REVOKE_OFFLINE_TOKENSstatic StringTOKEN_TYPE_BEARERstatic StringTOKEN_TYPE_IDstatic StringTOKEN_TYPE_KEYCLOAK_IDstatic StringTOKEN_TYPE_LOGOUTstatic StringTOKEN_TYPE_OFFLINEstatic StringTOKEN_TYPE_REFRESH
-
Constructor Summary
Constructors Constructor Description TokenUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static StringattachOIDCScope(String scopeParam)static RefreshTokengetRefreshToken(byte[] decodedToken)Return refresh token or offline tokenstatic RefreshTokengetRefreshToken(String refreshToken)static booleanhasPrompt(String promptParam, String targetPrompt)static booleanhasScope(String scopeParam, String targetScope)static booleanisOfflineToken(String refreshToken)Return true if given refreshToken represents offline tokenstatic booleanisOfflineTokenRequested(String scopeParam)static booleanisOIDCRequest(String scopeParam)static StringjweDirectEncode(Key aesKey, Key hmacKey, byte[] contentBytes)static StringjweDirectEncode(Key aesKey, Key hmacKey, JsonWebToken jwt)static byte[]jweDirectVerifyAndDecode(Key aesKey, Key hmacKey, String jweStr)static <T extends JsonWebToken>
TjweDirectVerifyAndDecode(Key aesKey, Key hmacKey, String jweStr, Class<T> expectedClass)static StringjweKeyEncryptionEncode(Key encryptionKEK, byte[] contentBytes, String algAlgorithm, String encAlgorithm, String kid, JWEAlgorithmProvider jweAlgorithmProvider, JWEEncryptionProvider jweEncryptionProvider)static StringjweKeyEncryptionEncode(Key encryptionKEK, byte[] contentBytes, String algAlgorithm, String encAlgorithm, String kid, JWEAlgorithmProvider jweAlgorithmProvider, JWEEncryptionProvider jweEncryptionProvider, String jweContentType)static byte[]jweKeyEncryptionVerifyAndDecode(Key decryptionKEK, String encodedContent)static byte[]jweKeyEncryptionVerifyAndDecode(Key decryptionKEK, String encodedContent, JWEAlgorithmProvider algorithmProvider, JWEEncryptionProvider encryptionProvider)
-
-
-
Field Detail
-
TOKEN_TYPE_BEARER
public static final String TOKEN_TYPE_BEARER
- See Also:
- Constant Field Values
-
TOKEN_TYPE_KEYCLOAK_ID
public static final String TOKEN_TYPE_KEYCLOAK_ID
- See Also:
- Constant Field Values
-
TOKEN_TYPE_ID
public static final String TOKEN_TYPE_ID
- See Also:
- Constant Field Values
-
TOKEN_TYPE_REFRESH
public static final String TOKEN_TYPE_REFRESH
- See Also:
- Constant Field Values
-
TOKEN_TYPE_OFFLINE
public static final String TOKEN_TYPE_OFFLINE
- See Also:
- Constant Field Values
-
TOKEN_TYPE_LOGOUT
public static final String TOKEN_TYPE_LOGOUT
- See Also:
- Constant Field Values
-
TOKEN_BACKCHANNEL_LOGOUT_EVENT
public static final String TOKEN_BACKCHANNEL_LOGOUT_EVENT
- See Also:
- Constant Field Values
-
TOKEN_BACKCHANNEL_LOGOUT_EVENT_REVOKE_OFFLINE_TOKENS
public static final String TOKEN_BACKCHANNEL_LOGOUT_EVENT_REVOKE_OFFLINE_TOKENS
- See Also:
- Constant Field Values
-
-
Method Detail
-
isOIDCRequest
public static boolean isOIDCRequest(String scopeParam)
-
isOfflineTokenRequested
public static boolean isOfflineTokenRequested(String scopeParam)
-
getRefreshToken
public static RefreshToken getRefreshToken(byte[] decodedToken) throws JWSInputException
Return refresh token or offline token- Parameters:
decodedToken-- Returns:
- Throws:
JWSInputException
-
getRefreshToken
public static RefreshToken getRefreshToken(String refreshToken) throws JWSInputException
- Throws:
JWSInputException
-
isOfflineToken
public static boolean isOfflineToken(String refreshToken) throws JWSInputException
Return true if given refreshToken represents offline token- Parameters:
refreshToken-- Returns:
- Throws:
JWSInputException
-
jweDirectEncode
public static String jweDirectEncode(Key aesKey, Key hmacKey, JsonWebToken jwt) throws JWEException
- Throws:
JWEException
-
jweDirectVerifyAndDecode
public static <T extends JsonWebToken> T jweDirectVerifyAndDecode(Key aesKey, Key hmacKey, String jweStr, Class<T> expectedClass) throws JWEException
- Throws:
JWEException
-
jweKeyEncryptionEncode
public static String jweKeyEncryptionEncode(Key encryptionKEK, byte[] contentBytes, String algAlgorithm, String encAlgorithm, String kid, JWEAlgorithmProvider jweAlgorithmProvider, JWEEncryptionProvider jweEncryptionProvider) throws JWEException
- Throws:
JWEException
-
jweKeyEncryptionEncode
public static String jweKeyEncryptionEncode(Key encryptionKEK, byte[] contentBytes, String algAlgorithm, String encAlgorithm, String kid, JWEAlgorithmProvider jweAlgorithmProvider, JWEEncryptionProvider jweEncryptionProvider, String jweContentType) throws JWEException
- Throws:
JWEException
-
jweKeyEncryptionVerifyAndDecode
public static byte[] jweKeyEncryptionVerifyAndDecode(Key decryptionKEK, String encodedContent) throws JWEException
- Throws:
JWEException
-
jweKeyEncryptionVerifyAndDecode
public static byte[] jweKeyEncryptionVerifyAndDecode(Key decryptionKEK, String encodedContent, JWEAlgorithmProvider algorithmProvider, JWEEncryptionProvider encryptionProvider) throws JWEException
- Throws:
JWEException
-
jweDirectEncode
public static String jweDirectEncode(Key aesKey, Key hmacKey, byte[] contentBytes) throws JWEException
- Throws:
JWEException
-
jweDirectVerifyAndDecode
public static byte[] jweDirectVerifyAndDecode(Key aesKey, Key hmacKey, String jweStr) throws JWEException
- Throws:
JWEException
-
-