10Duke Scale C++ Client
All Classes Namespaces Files Functions Variables Typedefs Enumerations Pages
DynamicJWKSSignatureValidator.h
1#ifndef TENDUKE_JWK_DYNAMICJWKSVALIDATOR_H
2#define TENDUKE_JWK_DYNAMICJWKSVALIDATOR_H
3
4#include "./JWKS.h"
5#include "./JWKSDownloader.h"
6#include "./JWKSSignatureValidator.h"
7#include "../crypto/MessageDigest.h"
8
9namespace tenduke { namespace jwk {
10
18{
19public:
33 const std::shared_ptr<tenduke::jwk::JWKS> &keySet,
34 const std::shared_ptr<const tenduke::jwk::JWKSDownloader> &jwksDownloader,
35 std::string jwksUrl,
36 tenduke::crypto::MessageDigest::Algorithm validationAlgorithm = tenduke::crypto::MessageDigest::Algorithm::NONE,
37 bool requireValidAlgClaim = true
38 );
39
40protected:
48 std::unique_ptr<tenduke::jwk::JWK> findJWK(const std::string &keyId) const override;
49
50private:
51 const std::shared_ptr<const tenduke::jwk::JWKSDownloader> downloadJWKS;
52 const std::string jwksURL;
53};
54
55}}
56
57#endif //TENDUKE_JWK_DYNAMICJWKSVALIDATOR_H
Algorithm
Supported algorithms.
Definition MessageDigest.h:24
Extension of tenduke::jwk::JWKSSignatureValidator, which first looks up key in cache,...
Definition DynamicJWKSSignatureValidator.h:18
std::unique_ptr< tenduke::jwk::JWK > findJWK(const std::string &keyId) const override
Locates the key from cache by id.
Definition DynamicJWKSSignatureValidator.cpp:12
DynamicJWKSSignatureValidator(const std::shared_ptr< tenduke::jwk::JWKS > &keySet, const std::shared_ptr< const tenduke::jwk::JWKSDownloader > &jwksDownloader, std::string jwksUrl, tenduke::crypto::MessageDigest::Algorithm validationAlgorithm=tenduke::crypto::MessageDigest::Algorithm::NONE, bool requireValidAlgClaim=true)
Constructs new instance.
Definition DynamicJWKSSignatureValidator.cpp:39
A tenduke::jwt::JWTSignatureValidator, which determines the validation key and algorithm based on the...
Definition JWKSSignatureValidator.h:24
Root for classes, functions and globals of 10Duke C++ Client.
Definition BackendConfiguration.h:7