5.5. JWTValidator¶
-
class
eprosima::is::sh::websocket
::
JwtValidator
¶ Class that validates the received JSON Web Token according to the VerificationPolicy specified on the configuration file.
Public Functions
-
void
verify
(const std::string &token)¶ Verifies the token.
- Parameters
[in] token
: String containing the JSON Web Token.
- Exceptions
VerificationError
:
-
void
add_verification_policy
(const VerificationPolicy &policy)¶ Adds a policy to resolve the verification strategy to use.
The VerificationPolicy should set the VerificationStrategy and returns true if it is able to provide a strategy. If there are multiple policies that can process a token, the 1st policy that matches is used. VerificationPolicyFactory contains some simple predefined policies.
- Remark
The idea is that JwtValidator should support verifying in multiple use cases. For example, choosing a secret based on the issuer or other claims and any custom strategy as required. There is no way to open up such flexibility from within the class so the conclusion is to have a handler that the consumer supplies to choose the verification method.
- Parameters
[in] policy
: The policy to be added.
-
void
-
class
eprosima::is::sh::websocket
::
VerificationPolicy
¶ Class containing all the relevant information about the verification policy, which includes the public key or the secret key used for generating the token.
Public Types
-
using
Rule
= std::pair<std::string, std::string>¶ Rule signature.
-
using
-
class
ServerConfig
¶ Loads from the YAML configuration file the authentication policy that will be used by the JwtValidator.