Table of Contents

Interface IBackChannelAuthenticationNotificationHttpClient

Namespace
Fdyay.IdentityServer.Services
Assembly
Fdyay.IdentityServer.AspNetCore.dll

Tells one client that one of its backchannel authentication requests has been answered.

public interface IBackChannelAuthenticationNotificationHttpClient

Remarks

A seam rather than an HttpClient used directly, for the reasons IBackChannelLogoutHttpClient gives: the notification can be tested without a socket, and a host can supply its own client — a proxy, a certificate, an egress policy — without reimplementing the part that matters.

Two callbacks. A ping (0.72.0) says which request was answered and nothing about the answer, so the client polls the token endpoint once and learns the outcome there. A push (0.73.0) carries the answer itself — the tokens, or the error — because a push client may not poll.

Methods

PostNotificationAsync(string, string, string, CancellationToken)

POSTs {"auth_req_id": …} to url, bearing the client's own token.

Task PostNotificationAsync(string url, string clientNotificationToken, string authenticationRequestId, CancellationToken cancellationToken = default)

Parameters

url string
clientNotificationToken string
authenticationRequestId string
cancellationToken CancellationToken

Returns

Task

PostTokensAsync(string, string, IReadOnlyDictionary<string, object>, CancellationToken)

POSTs a push-mode result — the tokens, or the error — to url as JSON.

Task PostTokensAsync(string url, string clientNotificationToken, IReadOnlyDictionary<string, object> payload, CancellationToken cancellationToken = default)

Parameters

url string
clientNotificationToken string
payload IReadOnlyDictionary<string, object>
cancellationToken CancellationToken

Returns

Task

Remarks

The payload is built by the caller and already carries auth_req_id (CIBA Core §10.3): this member decides how it travels, not what it says, so a host replacing the client cannot change which tokens a client receives.