feat(CIE): Implement OIDC RP Service with login, callback, and session management

This commit is contained in:
gabdevele
2026-06-16 23:33:59 +02:00 Unverified
parent bb7ed18539
commit 5f81d2dcf7
31 changed files with 3218 additions and 4 deletions
+28
View File
@@ -0,0 +1,28 @@
#pragma once
#include <json/json.h>
#include <optional>
#include <string>
namespace visione::services
{
class OidcRpService
{
public:
Json::Value startLogin(const Json::Value &body);
Json::Value callback(const std::string &state,
const std::string &code,
const std::string &error,
const std::string &errorDescription,
const std::optional<std::string> &issuer);
Json::Value sessionStatus(const std::string &state);
Json::Value entityConfigurationDocument() const;
std::string entityConfigurationJwt() const;
Json::Value resolveDocument(const std::optional<std::string> &sub,
const std::optional<std::string> &anchor) const;
std::string resolveJwt(const std::optional<std::string> &sub,
const std::optional<std::string> &anchor) const;
Json::Value jwks() const;
};
} // namespace visione::services