29 lines
993 B
C++
29 lines
993 B
C++
#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
|