A failed GitHub sign-in shows only a JSON error

未关闭
#644 2 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

维护者通常 1 天内回复

@Ray891220 已经在做这个了。

开始于 2026年11月10日。

评估

这个 Issue 还没有评估数据。

描述

A failed GitHub sign-in leaves the user on a page that shows only a JSON object, such as {"error":"Login state is missing or expired."}. There is no explanation of what went wrong and no link back to where the sign-in started, so the only way on is to edit the address bar.

Who is affected: anyone signing in with GitHub, which reciprocal practice requires, and the operator they ask for help.

Where it comes from: callback_response in src/web/auth.rs (at 5e00eab) returns json_response for every failure of a browser navigation, not an API call. Reachable cases include:

  • Missing GitHub callback code.: GitHub sends the user back with ?error=access_denied and no code when they press Cancel on the authorization page.
  • Missing GitHub callback state.
  • Login state is missing or expired.: the state cookie is absent, for example after a slow authorization or when the callback lands on a different origin than the one that started the sign-in.
  • Login state did not match.

Desired outcome: a failed sign-in shows a readable page that names the likely cause in a sentence and offers a link that starts sign-in again, returning to the page the user came from (/peer-lobby when the sign-in began there).

Acceptance criteria:

  • Pressing Cancel on GitHub's authorization page lands on a page that says the sign-in was cancelled and offers to try again.
  • An expired or missing state shows a page that suggests signing in again from the same address, with a working link.
  • API clients that call these routes, if any, still get a status code they can test; the change concerns what a browser renders.

Current workaround: open /peer-lobby again by hand and press Sign in with GitHub.

主要语言
Rust
星标
228
派生
150
平均合并
1 天 3 小时
30 天内合并 PR
230

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

sysprog21/codetrial 的其他 Issue

查看 sysprog21/codetrial 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。