Skip to content

feat(auth): OAuth 2.1 account linking for Alexa+ - #27

Merged
im-rk merged 1 commit into
mainfrom
feat/oauth
Oct 10, 2026
Merged

im-rk merged 1 commit into
mainfrom
feat/oauth

Conversation

@im-rk

@im-rk im-rk commented Oct 10, 2026

Copy link
Copy Markdown
Member

Alexa+ MCP Toolkit requires OAuth 2.1 + PKCE; the server only had a static bearer token.

  • Authorization server: discovery documents (RFC 9728 and server metadata), /oauth/authorize with a family link-code page, /oauth/token (authorization_code and refresh_token), S256 only, resource parameter, static client, signed stateless tokens, single-use codes, rate-limited and audited link attempts.
  • Safety: an assistant token is bound to one household and cannot call resolve_approval or set_policy.
  • With OAuth on, the unauthenticated 401 carries no WWW-Authenticate header (Alexa+ requirement). OAuth is off unless OAUTH_CLIENT_ID is set.
  • FIXED_NOW (non-production) freezes the server clock; fixes a simulator test that failed at night.
  • docs/alexa-integration.md states plainly that a live Alexa+ connection is NOT done, with the steps; alexa-addon/addon.json template.

264 node + 33 web + 17 browser tests pass.

…kens cannot approve; integration guide; fixed test clock
@im-rk
im-rk merged commit 89bb20f into main Oct 10, 2026
2 checks passed
@im-rk
im-rk deleted the feat/oauth branch October 10, 2026 03:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant