Class BackChannelAuthenticationEndpoint
- Namespace
- Fdyay.IdentityServer.Endpoints
- Assembly
- Fdyay.IdentityServer.AspNetCore.dll
The backchannel authentication endpoint (OpenID Connect CIBA Core 1.0 §7).
public sealed class BackChannelAuthenticationEndpoint : IEndpointHandler
- Inheritance
-
BackChannelAuthenticationEndpoint
- Implements
- Inherited Members
Remarks
Where a client asks this server to authenticate somebody who is not in front of it. There is no browser, no redirect and no user agent to bounce anything off, so the request is a client-authenticated POST that names a person, and the answer is a handle the client polls with while the server goes and finds them.
That shape puts every guarantee on client authentication. An authorization request can be sent by anyone, because it goes nowhere except a redirect URI the client registered; this one makes a stranger's phone buzz. So the endpoint refuses an unauthenticated caller before it looks at anything else, and refuses a client not registered for the grant before it resolves a hint — a client that may not use CIBA should not be able to discover which identifiers exist by watching the difference between two errors.
Constructors
BackChannelAuthenticationEndpoint(IClientSecretValidator, ISecretsListParser, IBackchannelAuthenticationRequestValidator, IBackchannelAuthenticationResponseGenerator, IEventService)
Creates the endpoint from its services, as the container resolves it.
public BackChannelAuthenticationEndpoint(IClientSecretValidator clientValidator, ISecretsListParser secretParser, IBackchannelAuthenticationRequestValidator requestValidator, IBackchannelAuthenticationResponseGenerator responseGenerator, IEventService events)
Parameters
clientValidatorIClientSecretValidatorAuthenticates the client from the credential it presented.
secretParserISecretsListParserReads the client's credential from the request.
requestValidatorIBackchannelAuthenticationRequestValidatorValidates the backchannel authentication request's parameters.
responseGeneratorIBackchannelAuthenticationResponseGeneratorStores the validated request and builds the response carrying its
auth_req_id.eventsIEventServiceReceives the endpoint's success and failure events.
Methods
ProcessAsync(HttpContext)
Processes the request, or returns null to pass the request through.
public Task<IEndpointResult?> ProcessAsync(HttpContext context)
Parameters
contextHttpContext