Table of Contents

Class ValidatedBackchannelAuthenticationRequest

Namespace
Fdyay.IdentityServer.Validation
Assembly
Fdyay.IdentityServer.Core.dll

A backchannel authentication request as this server validated it, before it is stored.

public sealed class ValidatedBackchannelAuthenticationRequest : IValidatedRequest
Inheritance
ValidatedBackchannelAuthenticationRequest
Implements
Inherited Members

Remarks

Duende 8.0.1's ValidatedBackchannelAuthenticationRequest, measured, with the members this server's endpoint has by the time a custom validator runs: the client, the user it resolved, and what the client asked for. Duende's carries the user as Subject, a principal; the user validator here answers with a subject id, so that is what this carries — and what it answers as an IValidatedRequest, since 0.155.0, is a principal holding that id as its sub. A backchannel request is made in no user's session.

Properties

AuthenticationContextReferenceClasses

The acr_values, in the client's order.

public IReadOnlyList<string> AuthenticationContextReferenceClasses { get; init; }

Property Value

IReadOnlyList<string>

BindingMessage

The request's binding_message (CIBA Core §7.1): a short text shown both on the consumption device and on the authentication device, so the user can tell the two belong together.

public string? BindingMessage { get; init; }

Property Value

string

Client

The client making the request.

public required Client Client { get; init; }

Property Value

Client

ClientNotificationToken

The token the client's notification endpoint is called with, for a client registered for ping or push.

public string? ClientNotificationToken { get; init; }

Property Value

string

Remarks

This server's: Duende delivers by poll only, so its request has no notification token to carry.

Expiry

The request's lifetime in seconds.

public int Expiry { get; init; }

Property Value

int

IdP

The first idp: entry of acr_values.

public string? IdP { get; init; }

Property Value

string

IdTokenHint

The request's id_token_hint (CIBA Core §7.1): an identity token this server issued to the user.

public string? IdTokenHint { get; init; }

Property Value

string

IssuerName

The issuer the request was served as.

public string IssuerName { get; init; }

Property Value

string

Remarks

Written by the validator; Duende's leaves it unset on this request.

LoginHint

The request's login_hint (CIBA Core §7.1): a value identifying the user, such as a username.

public string? LoginHint { get; init; }

Property Value

string

LoginHintToken

The request's login_hint_token (CIBA Core §7.1): a token identifying the user, in a format agreed with the host.

public string? LoginHintToken { get; init; }

Property Value

string

Options

The options the request was validated under. Duende's, written by the validator.

public IdentityServerOptions Options { get; init; }

Property Value

IdentityServerOptions

Properties

Custom parameters a custom validator has accepted, to be stored with the request.

public IDictionary<string, string> Properties { get; }

Property Value

IDictionary<string, string>

Remarks

Duende's, and the reason a custom validator exists: what it adds here is stored with the request and handed to the approval page and the user notification service, as BackChannelAuthenticationRequestContext.Properties and BackChannelAuthenticationRequest.Properties.

Raw

Every parameter of the request — the request object's, when it came as one.

public required IReadOnlyDictionary<string, string> Raw { get; init; }

Property Value

IReadOnlyDictionary<string, string>

RequestObject

The request object, when the request came as one.

public string? RequestObject { get; init; }

Property Value

string

RequestedResourceIndicators

The resource parameters.

public IReadOnlyCollection<string> RequestedResourceIndicators { get; init; }

Property Value

IReadOnlyCollection<string>

RequestedScopes

The scopes requested, as granted by resource validation.

public IReadOnlyCollection<string> RequestedScopes { get; init; }

Property Value

IReadOnlyCollection<string>

SubjectId

The user the request names, as the user validator resolved them — empty on a request refused before then.

public string SubjectId { get; init; }

Property Value

string

Tenant

The first tenant: entry of acr_values.

public string? Tenant { get; init; }

Property Value

string

UserCode

The request's user_code (CIBA Core §7.1): a secret the user gives the client to authorize the request.

public string? UserCode { get; init; }

Property Value

string