20 #ifndef MIR_COOKIE_AUTHORITY_H_ 21 #define MIR_COOKIE_AUTHORITY_H_ 85 static std::unique_ptr<Authority>
create();
97 virtual std::unique_ptr<Cookie>
make_cookie(uint64_t
const& timestamp) = 0;
105 virtual std::unique_ptr<Cookie>
make_cookie(std::vector<uint8_t>
const& raw_cookie) = 0;
120 #endif // MIR_COOKIE_COOKIE_AUTHORITY_H_ virtual ~Authority() noexcept=default
AutoUnblockThread is a helper thread class that can gracefully shutdown at destruction time...
Definition: blob.h:26
Definition: authority.h:35
static std::unique_ptr< Authority > create_saving(Secret &save_secret)
Construction function used to create an Authority as well as a secret.
Authority & operator=(Authority const &authority)=delete
static size_t optimal_secret_size()
Optimal size for the provided Secret.
static std::unique_ptr< Authority > create()
Construction function used to create an Authority and a secret which it keeps internally.
virtual std::unique_ptr< Cookie > make_cookie(uint64_t const ×tamp)=0
Creates a cookie from a timestamp.
static std::unique_ptr< Authority > create_from(Secret const &secret)
Construction function used to create an Authority.
A source of moderately-difficult-to-spoof cookies.
Definition: authority.h:51
std::vector< uint8_t > Secret
Definition: authority.h:33
static unsigned const minimum_secret_size
Absolute minimum size of secret key the Authority will accept.
Definition: authority.h:113