Skip to content
Introducing the next era of Duende IdentityServer. Read our CEO’s announcement

Device Flow Interaction Service

Duende.IdentityServer.Services.IDeviceFlowInteractionService

Section titled “Duende.IdentityServer.Services.IDeviceFlowInteractionService”

The IDeviceFlowInteractionService interface is intended to provide services to be used by the user interface to communicate with Duende IdentityServer during device flow authorization. It is available from the dependency injection system and would normally be injected as a constructor parameter into your MVC controllers for the user interface of IdentityServer.

All async methods accept a CancellationToken ct parameter.

  • GetAuthorizationContextAsync(string userCode, CancellationToken ct)

    Returns the DeviceFlowAuthorizationRequest based on the userCode passed to the login or consent pages.

  • HandleRequestAsync(string userCode, ConsentResponse consent, CancellationToken ct)

    Completes device authorization for the given userCode. Note that ConsentResponse.RememberConsent is always treated as false in device flow. Consent is never persisted across device flow sessions. This follows RFC 8628 security guidance, since the device initiating the flow is different from the device where the user authenticates.

  • ClientId

    The client identifier that initiated the request.

  • ScopesRequested

    The scopes requested from the authorization request.

  • IsError

    Specifies if the authorization request errored.

  • ErrorDescription

    Error description upon failure.