This commit is contained in:
Aria 2025-03-21 22:23:30 +11:00
commit 9c94d113d3
Signed by untrusted user who does not match committer: aria
GPG key ID: 19AB7AA462B8AB3B
10260 changed files with 1237388 additions and 0 deletions

View file

@ -0,0 +1,37 @@
#ifndef _STAR_AUTHENTICATION_SERVICE_HPP_
#define _STAR_AUTHENTICATION_SERVICE_HPP_
#include "StarAuthenticationDatabaseFacade.hpp"
#include "StarAuthenticationKey.hpp"
#include "StarVariant.hpp"
#include "StarVariantExtra.hpp"
namespace Star {
namespace Auth {
class AuthenticationService {
public:
static Variant generateAuthenticationConfig(String const& rootPrivateKey, int64_t valid, int64_t expires);
static bool validateAuthSignature(Key const& rootPublicKey, Variant const& authSignature);
static bool validateClientClaim(Key const& rootPublicKey, Variant const& claim);
static bool validateClientInnerClaim(Variant const& claim);
AuthenticationService(DatabasePtr db);
~AuthenticationService();
Variant getCertificate();
Variant authorizeClient(Variant const& request);
Variant validateClient(Variant const& request);
private:
Key m_authPrivateKey;
Key m_rootPublicKey;
DatabasePtr m_db;
Variant m_certificate;
};
}
}
#endif