Skip to content

Update native ChatGPT authentication for the app-server-owned callback flow #107

Description

@lynnswap

Parent: #96
Related: #97

Contract

The recovery branch must keep native ephemeral web presentation while following the current Codex app-server login lifecycle. The app-server owns its localhost callback and login completion; ReviewMonitor only presents the authorization URL and observes the stock completion/account state.

Acceptance criteria

  • ASWebAuthenticationSession is only the presentation owner and does not intercept the app-server localhost callback.
  • ReviewMonitor does not send the retired account/login/complete request.
  • Ephemeral browser configuration is set before start().
  • Missing anchor, inability to start, and presentation-context failure have one explicit external-browser fallback.
  • User cancellation maps to account/login/cancel(loginId).
  • Stock login notification plus account read is the only success owner.
  • Authentication tasks have one cancellation/close owner and no callback after teardown.
  • Real login, cancel, fallback, restart, and account-selection flows are verified.
  • API key authentication remains isolated in Reintroduce API key authentication on the v0.6.2 recovery architecture #97.

Historical evidence

The base contains an older native-login contract. Current behavior is represented by PR #80 and the final ephemeral fix in PR #95 (195e542, merged as 26c8f7b).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions