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,46 @@
#ifndef STAR_AUTHENTICATION_HPP
#define STAR_AUTHENTICATION_HPP
#include "StarVariant.hpp"
#include "StarThread.hpp"
namespace Star {
STAR_CLASS(AuthenticationImpl);
STAR_CLASS(SharedClaim);
STAR_CLASS(Authentication);
class SharedClaim {
public:
virtual ~SharedClaim() {};
virtual bool validateClaim() = 0;
virtual Variant claim() = 0;
virtual String encrypt(String const& message) = 0;
virtual bool verify(String const& message, String const& signature) = 0;
virtual String username() = 0;
};
class Authentication {
public:
void load();
bool validateClaim(bool remoteValidate);
bool logon(String const& username, String const& passwordHash);
Variant claim();
String decrypt(String const& message);
String sign(String const& message);
SharedClaimPtr sharedClaim(Variant const& data);
private:
AuthenticationImplPtr m_impl;
Mutex m_mutex;
};
}
#endif