30 lines
633 B
C++
30 lines
633 B
C++
#pragma once
|
|
|
|
#include <json/json.h>
|
|
|
|
#include <optional>
|
|
#include <string>
|
|
|
|
namespace visione::oidc
|
|
{
|
|
struct NormalizedUserClaims
|
|
{
|
|
std::string issuer;
|
|
std::string subject;
|
|
std::string firstName;
|
|
std::string lastName;
|
|
std::string email;
|
|
std::string fiscalCode;
|
|
Json::Value rawClaims;
|
|
};
|
|
|
|
std::optional<NormalizedUserClaims> normalizeIdTokenClaims(
|
|
const std::string &issuer,
|
|
const Json::Value &claims);
|
|
|
|
std::optional<NormalizedUserClaims> mergeUserClaims(
|
|
const std::string &issuer,
|
|
const Json::Value &idTokenClaims,
|
|
const Json::Value &userinfoClaims);
|
|
} // namespace visione::oidc
|