001package com.nimbusds.openid.connect.provider.spi.tokens; 002 003 004import java.security.SecureRandom; 005 006import com.nimbusds.openid.connect.provider.spi.InvocationContext; 007import com.nimbusds.openid.connect.provider.spi.crypto.HMACComputer; 008import com.nimbusds.openid.connect.provider.spi.crypto.JWSVerifier; 009import com.nimbusds.openid.connect.provider.spi.crypto.JWTSigner; 010 011 012/** 013 * Token encoder and decoder context. 014 */ 015public interface TokenCodecContext extends InvocationContext { 016 017 018 /** 019 * Returns an initialised secure random generator. 020 * 021 * @return The secure random generator. 022 */ 023 SecureRandom getSecureRandom(); 024 025 026 /** 027 * Returns the JSON Web Token (JWT) signer. 028 * 029 * @return The JWT signer. 030 */ 031 JWTSigner getJWTSigner(); 032 033 034 /** 035 * Returns the JSON Web Signature (JWS) verifier. 036 * 037 * @return The JWS verifier. 038 */ 039 JWSVerifier getJWSVerifier(); 040 041 042 /** 043 * Returns the Hash-based Message Authentication Code (HMAC) computer. 044 * 045 * @return The HMAC computer. 046 */ 047 HMACComputer getHMACComputer(); 048}