Profile data are retrieved from ID token without verifying the token
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 25/100
- Issue 类型
- 缺陷
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 技术栈
- objective-c
调研方向
从 GoogleSignIn/Sources/GIDSignIn.m 约第 803 行开始,将当前的 ID-token 处理方式与链接的 backend-auth 指南进行比较。查看 PKCE 参考资料,并确定移动端和桌面端客户端预期的完整性与信任模型。只有在确定实现范围之前就验证方式达成一致,才能算完成。
由索引模型根据 Issue 内容生成。
描述
Describe the bug
Bug location: https://github.com/google/GoogleSignIn-iOS/blob/7932d33686c1dc4d7df7a919aae47361d1cdfda4/GoogleSignIn/Sources/GIDSignIn.m#L803
Here, profile data (email, name, profile picture, etc.) are being retrieved from the ID Token without verifying the integrity of the token. Ideally, an ID Token would be sent over to the backend server, which first verifies the signature of the token before using the profile information from the payload.
But, in this case, since we are directly retrieving the sensitive profile information (from ID Token's payload) to sign in a user, should we not verify the token first? Especially for mobile or desktop apps (which is the case here) where intermediary-free TLS cannot always be guaranteed?
Additionally, we are not using any CSRF protection (e.g, PKCE), so I think it is critical to verify the integrity of the ID Token before accepting the profile information from it.
- 主要语言
- Objective-C
- 星标
- 751
- 派生
- 282
- 平均合并
- 4 天 20 小时
- 30 天内合并 PR
- 11
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
google/GoogleSignIn-iOS 的其他 Issue
-
enhancement triage
难度 2/5 1-3 小时 新手友好度 72/100
google/GoogleSignIn-iOS#621 ·
-
enhancement triage
难度 2/5 1-3 小时 新手友好度 76/100
google/GoogleSignIn-iOS#620 ·
-
难度 2/5 1-3 小时 新手友好度 68/100
google/GoogleSignIn-iOS#440 · 4 条评论 · 2 个 reaction ·
-
enhancement triage
难度 4/5 3-5 天 新手友好度 48/100
google/GoogleSignIn-iOS#611 ·
-
难度 4/5 3-5 天 新手友好度 45/100
google/GoogleSignIn-iOS#607 ·
查看 google/GoogleSignIn-iOS 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
objective-see/LuLu#925 ·
-
bug
难度 2/5 1-3 小时 新手友好度 84/100
-
难度 2/5 1-3 小时 新手友好度 72/100
noah-nuebling/mac-mouse-fix#2054 ·
-
难度 1/5 1 小时以内 新手友好度 92/100
obsproject/obs-studio#13918 ·
-
难度 2/5 1-3 小时 新手友好度 88/100
HigherOrderCO/Bend#842 · 2 条评论 ·