using Newtonsoft.Json;

namespace eSuite.API.SingleSignOn;

/// <summary>
/// class used to deserialise the OpenId configuration Json
/// </summary>
public class OpenIdConfiguration
{
    /// <summary>
    /// issuer of the tokens
    /// </summary>
    [JsonProperty("issuer")]
    public string Issuer { get; set; } = string.Empty;

    /// <summary>
    /// endpoint to use for authorisation requests
    /// </summary>
    [JsonProperty("authorization_endpoint")]
    public string AuthorizationEndpoint { get; set; } = string.Empty;

    /// <summary>
    /// uri for the jwks signatures used to verify JWT's.
    /// </summary>
    [JsonProperty("jwks_uri")]
    public string JwksUri { get; set; } = string.Empty;

    //There are other members which are not current implemented in this class as I've not needed them.
    //response_types_supported": [ "id_token", "token id_token" ],
    //"subject_types_supported": [ "pairwise" ],
    //"id_token_signing_alg_values_supported": [ "RS256" ],
    //"claims_supported": [ "iss", ...]
}