Class DynamicProviderOptions
- Namespace
- Fdyay.IdentityServer.Configuration
- Assembly
- Fdyay.IdentityServer.AspNetCore.dll
How dynamic providers are served, and which kinds this host has registered.
public sealed class DynamicProviderOptions
- Inheritance
-
DynamicProviderOptions
- Inherited Members
Properties
PathMatchingCallback
Names the dynamic scheme a request is a callback for, or null when it is for none. When set, it is asked instead of PathPrefix. Duende 8.0.1's, measured.
public Func<HttpContext, Task<string?>>? PathMatchingCallback { get; set; }
Property Value
Remarks
For a host whose dynamic providers call back somewhere other than {PathPrefix}/{scheme}/… — a path
per tenant, say. The callback paths a handler answers are its own options; this only says which scheme's
handler a request is handed to.
PathPrefix
Where a dynamic provider's callbacks live. Defaults to /federation.
public PathString PathPrefix { get; set; }
Property Value
Remarks
A dynamic scheme cannot share a callback path with any other, so each gets one under this prefix —
/federation/{scheme}/signin. Static registrations set their own and are untouched.
SignInScheme
The scheme a dynamic provider signs the user in to: the external cookie. Duende's default.
public string SignInScheme { get; set; }
Property Value
SignOutScheme
The scheme a dynamic provider signs out of when its upstream says the session ended: this server's session cookie, which is also what it reads as when unset. Duende's default.
public string? SignOutScheme { get; set; }
Property Value
SignOutSchemeSetExplicitly
Whether a host set SignOutScheme, rather than it reading as its default. Duende's.
public bool SignOutSchemeSetExplicitly { get; }
Property Value
Remarks
What lets AddAspNetIdentity move the default to ASP.NET Core Identity's cookie without overriding a
host that chose: the sign-out scheme follows the session cookie only when nobody named one.
Methods
AddProviderType<THandler, TOptions, TIdentityProvider>(string)
Registers a kind of provider a stored row may name.
public void AddProviderType<THandler, TOptions, TIdentityProvider>(string type) where THandler : IAuthenticationHandler where TOptions : AuthenticationSchemeOptions, new() where TIdentityProvider : IdentityProvider
Parameters
typestring
Type Parameters
THandlerTOptionsTIdentityProvider
Remarks
A host adds its own the same way this server adds OpenID Connect, which is the test of whether the mechanism is one: a provider kind that could only be added by editing this library would make "dynamic" mean "dynamic about configuration and static about protocol".
Duende 8.0.1's two refusals, measured, since 0.103.0: a kind is registered once — until then a second
registration silently replaced the first — and its TIdentityProvider must have a
public ctor(IdentityProvider), which IIdentityProviderFactory makes it through. Both are
refused here, when the options are built, rather than when a row of the kind is first read.
FindProviderType(string?)
The registered kind a stored row names, or null when nothing here can serve it.
public DynamicProviderType? FindProviderType(string? type)
Parameters
typestring
Returns
Remarks
Duende's name for it; until 0.97.0 it was Find.