| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
…feature/oauth-device-flow
|
/preview |
Sorry, something went wrong.
|
Preview deployed
|
Sorry, something went wrong.
- Mark optional build dependencies as dev in `package-lock.json` - Remove obsolete libc qualifiers from lock entries
…flow # Conflicts: # src/Exceptionless.Web/ClientApp/package-lock.json
|
Follow-up feedback and thermo-nuclear audit complete. Feedback classification
Proven RCA and surgical fixThe full branch-vs-main audit found one real cache-ownership race. A stale user-code lookup read owner A, failed to find A's device authorization, and then unconditionally deleted the shared user-code key. If that key had been reassigned to owner B between the read and cleanup, A could delete B's valid mapping. Commit e880702ad49c centralizes user-code cleanup behind compare-and-remove semantics and uses that invariant for creation rollback, authorization removal, and stale lookup cleanup. The focused regression proves that a stale owner cannot remove a reassigned mapping while the current owner still can. Thermo-nuclear diff auditAudited the complete effective diff against origin/main, including state transitions, authorization boundaries, serialization compatibility, generated API contracts, frontend consent behavior, helper duplication, branching, async orchestration, and file growth. No further actionable issue was proven. OAuthService remains at 998 lines and the dedicated OAuthDeviceService at 624 lines; the feature does not push a production file across 1,000 lines. Verification
A local integration-host attempt was blocked before the test body by unrelated shared Elasticsearch test-* alias/index conflicts from concurrent worktrees. The isolated unit regression passed, and the clean CI API suite provides the authoritative broader backend proof. No external blocker remains. Draft/admin state was not changed. |
Sorry, something went wrong.
There was a problem hiding this comment.
overall looks good
Sorry, something went wrong.
# Conflicts: # src/Exceptionless.Core/Configuration/OAuthServerOptions.cs # src/Exceptionless.Core/Services/OAuthService.cs # tests/Exceptionless.Tests/Api/Endpoints/OAuthEndpointTests.cs
# Conflicts: # src/Exceptionless.Core/Services/OAuthService.cs # src/Exceptionless.Web/ClientApp/src/routes/(auth)/oauth/authorize/+page.svelte # tests/Exceptionless.Tests/Api/Endpoints/OAuthEndpointTests.cs
|
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Summary
Adds RFC 8628-style OAuth device authorization for remote and headless MCP/OAuth clients. Device clients can request a device/user code, users can approve access through the Svelte verification page, and token polling now returns the expected pending, slow_down, denied, expired, or token responses.
Changes
Compatibility
Existing authorization-code clients continue to default to authorization_code refresh_token. Authorization-code clients still require redirect URIs; device-only clients may omit redirects.
Validation