Google OIDC userinfoのメール確認フラグはemail_verified(旧v2はverified_email)
セキュリティ
認証・OAuth
外部API連携
GoogleのOpenID Connect userinfoエンドポイント(https://openidconnect.googleapis.com/v1/userinfo)が返すメール確認済みフラグは『email_verified』。一方、旧来の https://www.googleapis.com/oauth2/v2/userinfo は『verified_email』を返す。エンドポイントを移行/混在させるとJSONタグ名の不一致でフラグが常にfalse(ゼロ値)になり、(a)未確認メールチェックが機能しない or (b)逆に全ログインを誤って拒否する、といったバグになる。
セキュリティ上、email/sub等でユーザーを突合してログインさせる実装では email_verified==true を必須チェックすること。未確認メールを許すと、攻撃者が被害者のメールアドレスで未確認アカウントを作りログインできるなりすまし(アカウント乗っ取り)に繋がりうる。