10Duke Enterprise C++ SDK
Loading...
Searching...
No Matches
FixedKeyJWTSignatureValidator.h
1#ifndef TENDUKE_JWT_FIXEDKEYJWTSIGNATUREVALIDATOR_H
2#define TENDUKE_JWT_FIXEDKEYJWTSIGNATUREVALIDATOR_H
3
4#include "./JWTSignatureValidator.h"
5
6#include "../crypto/asymmetric/PublicKey.h"
7#include "../crypto/msgauthn/HashAlgorithm.h"
8
9namespace tenduke { namespace jwt {
10
18{
19public:
26 const std::shared_ptr<const ::tenduke::crypto::PublicKey> &validationKey,
28 );
29
30// JWTSignatureValidator interface
31public:
32 bool validate(
33 const json::JSONObject *jwtHeader,
34 const char * payload,
35 std::size_t payloadLength,
36 const unsigned char * signatureBytes,
37 std::size_t signatureLengthB
38 ) const override;
39
40private:
41 const std::shared_ptr<const ::tenduke::crypto::PublicKey> validationKey;
42 const ::tenduke::crypto::HashAlgorithm algorithm;
43};
44
45}}
46
47#endif // TENDUKE_JWT_FIXEDKEYJWTSIGNATUREVALIDATOR_H
FixedKeyJWTSignatureValidator(const std::shared_ptr< const ::tenduke::crypto::PublicKey > &validationKey, ::tenduke::crypto::HashAlgorithm algorithm)
Constructs a new instance.
Definition FixedKeyJWTSignatureValidator.cpp:11
JSON object element.
Definition JSONObject.h:16
bool validate(const json::JSONObject *jwtHeader, const char *payload, std::size_t payloadLength, const unsigned char *signatureBytes, std::size_t signatureLengthB) const override
Validates JWT signature.
Definition FixedKeyJWTSignatureValidator.cpp:18
FixedKeyJWTSignatureValidator(const std::shared_ptr< const ::tenduke::crypto::PublicKey > &validationKey, ::tenduke::crypto::HashAlgorithm algorithm)
Constructs a new instance.
Definition FixedKeyJWTSignatureValidator.cpp:11
Service for validating the JWT-signature.
Definition JWTSignatureValidator.h:15
HashAlgorithm
Currently supported hash algorithms.
Definition HashAlgorithm.h:13
Support for JSON Web Tokens.
Definition DefaultJWTParser.h:11
Root for classes, functions and globals of 10Duke C++ Client.
Definition APIRequest.h:4