Table of Contents

Interface IOidcConfig

Namespace
Tenduke.Core.Config
Assembly
Tenduke.Core.dll

Configuration settings associated with or required to access the OpenID Connect provider.

public interface IOidcConfig : IConfig
Inherited Members
Extension Methods

Properties

AuthRedirectPath

Gets the path for OAuth PKCE flow post login redirect.

string? AuthRedirectPath { get; }

Property Value

string

Remarks

For desktop clients (using system default browser), this path fragment will be appened to http://localhost using AuthRedirectPort if specified or otherwise a random ephemeral port.

The constructed URI will be provided to the OAuth Authorization Server (AS), also known as the OpenID Provider (OP) as a query parameter to the Authorization Request. After successful login of the user the AS directs the user-agent back to the client, at the URI constructed from this configuration item.

AuthRedirectPort

Gets the local redirect port to listen on for OAuth PKCE flow post login redirect.

int AuthRedirectPort { get; }

Property Value

int

AuthRedirectTimeoutSeconds

Gets the the timeout, in seconds, for PKCE Flow login and redirect.

float AuthRedirectTimeoutSeconds { get; }

Property Value

float

AuthRedirectUri

Gets the URI for OAuth PKCE flow post login redirect.

Uri? AuthRedirectUri { get; }

Property Value

Uri

Remarks

This value will be provided to the OAuth Authorization Server (AS), also known as the OpenID Provider (OP) as a query parameter to the Authorization Request. After successful login of the user the AS directs the user-agent back to the client, at the URI specified by this configuration item.

AuthSuccessMessage

Gets the file name and path of the file containing response for successful login (see PKCE Flow Client).

string? AuthSuccessMessage { get; }

Property Value

string

EffectiveLogoutRedirectPath

Gets the effective redirect path for logout redirect.

string? EffectiveLogoutRedirectPath { get; }

Property Value

string

EffectiveLogoutRedirectPort

Gets the effective redirect port for logout redirect.

int EffectiveLogoutRedirectPort { get; }

Property Value

int

EffectiveRedirectPath

Gets the effective redirect path for the PKCE Flow Client.

string? EffectiveRedirectPath { get; }

Property Value

string

EffectiveRedirectPort

Gets the effective redirect port for the PKCE Flow Client.

int EffectiveRedirectPort { get; }

Property Value

int

EffectiveRedirectUri

Gets the effective redirect URI for the PKCE Flow Client.

Uri? EffectiveRedirectUri { get; }

Property Value

Uri

IdpEndSessionEndpoint

Gets the end session endpoint.

Uri? IdpEndSessionEndpoint { get; }

Property Value

Uri

Remarks

This optional entry in the OpenID configuration specifies the endpoint to begin Relying Party (RP) initiated logout, if the OpenID Provider (OP) supports that protocol extension.

IdpIssuer

Gets the Issuer (iss) for IDToken validation

string? IdpIssuer { get; }

Property Value

string

IdpJwksUri

Gets the URL path to read public key used to verify JWTs received from Authorization Server authenticating OpenID Connect session.

Uri? IdpJwksUri { get; }

Property Value

Uri

IdpOAuthAuthorizationUrl

Gets the endpoint for Authorization Request in Authorization Code or Implicit Grant flows.

Uri? IdpOAuthAuthorizationUrl { get; }

Property Value

Uri

IdpOAuthClientId

Gets the application credentials for OAuth/OpenID Connect.

string? IdpOAuthClientId { get; }

Property Value

string

IdpOAuthClientSecret

Gets the application credentials for OAuth/OpenID Connect. Required for some OAuth flows or for some Identity Providers.

string? IdpOAuthClientSecret { get; }

Property Value

string

IdpOAuthDeviceCodeUrl

Gets the endpoint for Device Authorization Request in Device Authorization Grant flow.

Uri? IdpOAuthDeviceCodeUrl { get; }

Property Value

Uri

IdpOAuthScope

Gets the scopes to include in the Access and ID tokens requested via OpenID Connect.

string? IdpOAuthScope { get; }

Property Value

string

IdpOAuthTokenUrl

Gets the endpoint for Access Token Request or Device Access Token Request.

Uri? IdpOAuthTokenUrl { get; }

Property Value

Uri

IdpOidcDiscoveryUrl

Gets the URL used to retrieve the details of the OpenID Connect endpoints for the identity provider.

Uri? IdpOidcDiscoveryUrl { get; }

Property Value

Uri

IdpUserinfoUrl

Gets the endpoint handling the UserInfo Request.

Uri? IdpUserinfoUrl { get; }

Property Value

Uri

LogoutRedirectPath

Gets the path to construct an application URI for the OpenID Provider (OP) to redirect to after successful logout.

string? LogoutRedirectPath { get; }

Property Value

string

Remarks

Some OpenID Provider (OP) logout flows allow the client application or Relying Party (RP) to specify a URI for the OP to redirect to after successful logout.

This allows the RP to complete the termination of the local session (for example removing any stored access or refresh tokens) once the OP has confirmed the session has been terminated.

For desktop clients (using system default browser), this path fragment will be appened to http://localhost using LogoutRedirectPort if specified or otherwise a random ephemeral port.

LogoutRedirectPort

Gets the port to listen for for the OpenID Provider (OP) redirect after successful logout.

int LogoutRedirectPort { get; }

Property Value

int

LogoutRedirectTimeoutSeconds

Gets the the timeout, in seconds, for logout redirect.

float LogoutRedirectTimeoutSeconds { get; }

Property Value

float

LogoutRedirectUri

Gets the application URI for the OpenID Provider (OP) to redirect to after successful logout.

Uri? LogoutRedirectUri { get; }

Property Value

Uri

Remarks

Some OpenID Provider (OP) logout flows allow the client application or Relying Party (RP) to specify a URI for the OP to redirect to after successful logout.

This allows the RP to complete the termination of the local session (for example removing any stored access or refresh tokens) once the OP has confirmed the session has been terminated.

For desktop applications (using system default browser), the SDK will listen on this URI for the redirect to localhost.

LogoutSuccessMessage

Gets the file name and path of the file containing response for successful logout.

string? LogoutSuccessMessage { get; }

Property Value

string

Remarks

Optionally used as part of the Relying Party (RP) Initiated Logout flow.

OidcHttpClientName

Gets the name of the HttpClient to use for requests to the OpenID Connect Provider.

string OidcHttpClientName { get; }

Property Value

string

Methods

GetEffectiveLogoutRedirectUri(int)

Gets the effective redirect URI for logout redirect.

Uri? GetEffectiveLogoutRedirectUri(int port)

Parameters

port int

Returns

Uri