Interface ISteamQrSignInClient
The two calls of Steam's QR sign-in: start a session, then poll it until the author approves it on their phone.
Namespace: Serenity.Steam.Application.SignIn
Assembly: Serenity.Steam.Application.dll
Syntax
public interface ISteamQrSignInClient
Methods
PollAsync(SteamQrChallenge, CancellationToken)
Polls a session once. Every answer Steam gives, a transport failure included, comes back as a SteamQrPollOutcome; the caller paces the next poll by PollInterval and backs off after a transient failure.
Declaration
Task<SteamQrPollOutcome> PollAsync(SteamQrChallenge challenge, CancellationToken cancellationToken)
Parameters
| Type | Name | Description |
|---|---|---|
| SteamQrChallenge | challenge | The challenge to poll with: the one StartAsync(CancellationToken) returned, or the latest rotated one. |
| CancellationToken | cancellationToken | Cancels the poll. |
Returns
| Type | Description |
|---|---|
| Task<SteamQrPollOutcome> |
StartAsync(CancellationToken)
Starts a sign-in session and returns the challenge to show as a QR code.
Declaration
Task<SteamQrChallenge> StartAsync(CancellationToken cancellationToken)
Parameters
| Type | Name | Description |
|---|---|---|
| CancellationToken | cancellationToken |
Returns
| Type | Description |
|---|---|
| Task<SteamQrChallenge> |
Exceptions
| Type | Condition |
|---|---|
| SteamSignInTransportException | Steam could not be reached, answered an HTTP error, or answered a result code other than OK. |