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
urlstringclientNotificationTokenstringauthenticationRequestIdstringcancellationTokenCancellationToken
Returns
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
urlstringclientNotificationTokenstringpayloadIReadOnlyDictionary<string, object>cancellationTokenCancellationToken
Returns
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.