Profile data are retrieved from ID token without verifying the token
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 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
- 平均マージ
- 2日 15時間
- マージ済み PR(30日)
- 9
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- 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 件 ·
-
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
-
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 件 ·