Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

在github平台 把账号userName变更后, 账号oauth2绑定失效, 可能导致额度/token泄露 #575

Open
5 tasks done
QriDoki opened this issue Nov 19, 2024 · 3 comments
Labels
bug Something isn't working

Comments

@QriDoki
Copy link

QriDoki commented Nov 19, 2024

例行检查

  • 我已确认目前没有类似 issue
  • 我已确认我已升级到最新版本
  • 我已完整查看过项目 README,尤其是常见问题部分
  • 我理解并愿意跟进此 issue,协助测试和提供反馈
  • 我理解并认可上述内容,并理解项目维护者精力有限,不遵循规则的 issue 可能会被无视或直接关闭

我已经确认这个问题和#500不同

问题描述
Github的userName是指https://github.com/后面的那串. Github的userName是可以更改的, 详见Github的这篇文档
所以不能用userName做和github的账号绑定, 而是应该用github的userId绑定, 其中userId可以从Github的这个接口获取

否则的话, 如果更改了userName, 那么这个账号则无法登录之前绑定过的new-api账号, 而新注册一个和原先userName一致的github账号, 可以登录之前这个username绑定的new-api账号, 可以使用这个new-api账号的额度和token

复现步骤

  1. 使用一个邮箱, 假设叫test-1@qri.moe注册一个github账号, userName叫qri-test-1
  2. 使用其登录new-api, 假设其在new-api的用户叫github_8432
  3. 在github的Settings -> Account -> Change username更改userName, 改为qri-test-2
  4. 登出new-api, 再用这个github账号登录new-api, 发现new-api的用户叫github_8433
  5. 再用一个邮箱 test-2@qri.moe 注册一个github账号, 取userName叫qri-test-1. 因为先前的账号已经改名了, 这个名字释放出来 可以用
  6. 使用这个新的github账号登录new-api, 发现new-api的用户叫github_8432

预期结果
账号改名之后仍然绑定这个账号

@QriDoki QriDoki added the bug Something isn't working label Nov 19, 2024
@QriDoki QriDoki changed the title 在github平台 把账号Id变更后, 账号oauth2绑定失效 在github平台 把账号userName变更后, 账号oauth2绑定失效, 可能导致额度/token泄露 Nov 19, 2024
@Calcium-Ion
Copy link
Owner

现在是用的github id绑定

@Calcium-Ion
Copy link
Owner

检查了一下不是用username绑定的,不清楚是哪个环节出问题了

@QriDoki
Copy link
Author

QriDoki commented Nov 20, 2024

有复现么

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants