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}