OAuth2 Device Authorization Grant (RFC 8628) for TV/CLI clients #13
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Add support for the Device Authorization Grant (RFC 8628) to enable authentication from devices without a browser — Apple TV, Roku, CLI tools, etc.
How it works
POST /oauth/device→ getsdevice_code+user_code+verification_uriPOST /oauth/tokenwithgrant_type=urn:ietf:params:oauth:grant-type:device_codeUse case
The planned Canister tvOS app (TVML/TVMLKit) needs to authenticate with Clinch. A TV remote is not a great way to type passwords, making this the standard solution.
Also useful for CLI tools and any device with a screen but no browser.
Endpoints needed
POST /oauth/device— issue device + user codesGET /device— user-facing page to enter the codePOST /oauth/tokenwithgrant_type=urn:ietf:params:oauth:grant-type:device_code— device polls thisNotes
ABCD-1234, no0/Oconfusion)authorization_pending,slow_down,expired_token,access_deniedPriority
Low — this is for the tvOS app which is further down the roadmap. Logging it now since it came up in the discussion about OAuth grant types.