Table of Contents

Class OidcProvider

Namespace
Fdyay.IdentityServer.Models
Assembly
Fdyay.IdentityServer.Core.dll

A dynamic OpenID Connect provider.

public class OidcProvider : IdentityProvider
Inheritance
OidcProvider
Inherited Members

Remarks

The typed reading of Properties for OpenID Connect, one of the two protocols this server ships a dynamic type for; SamlProvider is the other. A host adding another writes its own subclass and registers it the same way — the mechanism has no opinion about either protocol, and would be a worse mechanism if it did.

Constructors

OidcProvider()

An empty OpenID Connect provider, its Type set to ProviderType.

public OidcProvider()

OidcProvider(IdentityProvider)

Reads other, an oidc row, as one of these. The copy constructor its kind requires.

[SetsRequiredMembers]
public OidcProvider(IdentityProvider other)

Parameters

other IdentityProvider

Fields

ProviderType

The Type value this class reads.

public const string ProviderType = "oidc"

Field Value

string

Properties

Authority

The provider's issuer, from which its discovery document is read. Required by the configuration validator.

public string? Authority { get; set; }

Property Value

string

ClientId

The client id this server is registered under at the provider. Required by the configuration validator.

public string? ClientId { get; set; }

Property Value

string

ClientSecret

The client secret this server authenticates to the provider with, where it has one.

public string? ClientSecret { get; set; }

Property Value

string

GetClaimsFromUserInfoEndpoint

Whether the handler calls the provider's userinfo endpoint for further claims after sign-in. Defaults to false.

public bool GetClaimsFromUserInfoEndpoint { get; set; }

Property Value

bool

ResponseType

The response_type this server asks the provider for. Defaults to code.

public string ResponseType { get; set; }

Property Value

string

Scope

Space-delimited, as it travels on the wire.

public string Scope { get; set; }

Property Value

string

UsePkce

Whether the sign-in to this provider uses PKCE. Defaults to true. Duende's.

public bool UsePkce { get; set; }

Property Value

bool

Remarks

Kept as Duende keeps it, as SamlProvider keeps its flags: true or false in lower case, an unset value read as true and any other value but the exact true as false — so a row written by either reads the same in both. Off only for a provider that refuses a code_challenge.