Class MSEntraAccessTokenJWSVerifier

  • All Implemented Interfaces:
    com.nimbusds.jose.jca.JCAAware<com.nimbusds.jose.jca.JCAContext>, com.nimbusds.jose.JOSEProvider, com.nimbusds.jose.JWSProvider, com.nimbusds.jose.JWSVerifier

    public class MSEntraAccessTokenJWSVerifier
    extends Object
    implements com.nimbusds.jose.JWSVerifier
    • Field Detail

      • LOG

        protected static final Logger LOG
      • tenantId

        protected final String tenantId
      • appId

        protected final String appId
      • cacheExpireAfterWrite

        protected final Duration cacheExpireAfterWrite
      • httpClient

        protected final HttpClient httpClient
      • jsonMapper

        protected final JsonMapper jsonMapper
      • verifiersCache

        protected final com.github.benmanes.caffeine.cache.LoadingCache<String,​com.nimbusds.jose.JWSVerifier> verifiersCache
    • Constructor Detail

      • MSEntraAccessTokenJWSVerifier

        public MSEntraAccessTokenJWSVerifier​(String tenantId,
                                             String appId,
                                             Duration cacheExpireAfterWrite)
    • Method Detail

      • getOpenIDMetadataDocumentUrl

        protected String getOpenIDMetadataDocumentUrl()
      • extractJwksUri

        protected String extractJwksUri​(String openIdMetadataDocument)
      • fetchDocument

        protected String fetchDocument​(String url)
      • parseJsonWebKeySet

        protected Map<String,​com.nimbusds.jose.JWSVerifier> parseJsonWebKeySet​(String jsonWebKeySet)
      • getAllFromCache

        protected Map<String,​com.nimbusds.jose.JWSVerifier> getAllFromCache()
      • supportedJWSAlgorithms

        public Set<com.nimbusds.jose.JWSAlgorithm> supportedJWSAlgorithms()
        Specified by:
        supportedJWSAlgorithms in interface com.nimbusds.jose.JWSProvider
      • getJCAContext

        public com.nimbusds.jose.jca.JCAContext getJCAContext()
        Specified by:
        getJCAContext in interface com.nimbusds.jose.jca.JCAAware<com.nimbusds.jose.jca.JCAContext>
      • verify

        public boolean verify​(com.nimbusds.jose.JWSHeader header,
                              byte[] signingInput,
                              com.nimbusds.jose.util.Base64URL signature)
                       throws com.nimbusds.jose.JOSEException
        Specified by:
        verify in interface com.nimbusds.jose.JWSVerifier
        Throws:
        com.nimbusds.jose.JOSEException