FacebookからOAuthを停止されてわかった今時のセキュリティ – Uzabase Tech

NewsPicksの高山です。 この記事はUzabase Advent Calendar 2021の23日目の記事です。昨日は我らが赤澤剛さんによるAWS Organizationの記事でした。 去る2021年10月12日に突然NewsPicksのサービスでFacebookログインやFacebookへの投稿ができなくなりました。この状態は12月13日まで2ヶ月もの間継続していて、ユーザーさ…

Google OAuth の段階的な認証の改善について

この記事はプロダクト マネージャー、Vikrant Rana、グループ プロダクト マネージャー、Badi Azad による Google Developers Blog の記事 “Google OAuth incremental authorization improvement” を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。


概要

Google Identity は、データの保護において Google を信頼してくださっている Google アカウント ユーザーに充実した機能を提供すべく、日々努力を重ねています。同時に、ユーザーにすばらしい体験を提供するアプリを作るデベロッパー コミュニティにも貢献したいと考えています。Google とデベロッパーとの連携により、ユーザーは次の 3 つの重要な方法でデータの共有を管理できるようになっています。

  1. 誰が自分のアカウント データにアクセスできるかを決定する際に、ユーザーは対象を細かく制御できます
  2. ユーザーが Google アカウントのデータをアプリと共有することにした場合、簡単かつ安全な操作で共有できます
  3. 具体的にどんなデータをアプリと共有しているかを、ユーザーに明らかにします

現在行っていること

以上の内容を実現するため、ユーザーが簡単にアプリとデータを共有できるようにする OAuth の同意操作についてお知らせします。この操作は、一度に 1 つのスコープしかリクエストできない段階的な認証を使っているアプリで、同意コンバージョン操作を改善するものでもあります。ユーザーは、この種のリクエストに対して、1 回のタップで簡単に共有できるようになります。
サンプルアプリがアカウント情報にアクセスする際のこれまでの画面と新しい画面のスクリーンショットの比較
これまでの画面                                           新しい画面

簡単な復習

OAuth の同意フローに対して行ってきた作業の全体像が把握できるように、これまでの改善内容を簡単にまとめておきましょう。

2019 年の中頃に、同意画面を大幅に改訂し、アプリと共有するアカウント データをユーザーが細かく制御できるようにしました。このフローでは、アプリが複数の Google リソースへのアクセスをリクエストすると、ユーザーには 1 つのスコープにつき 1 つの画面が表示されていました。

2021 年 7 月には、ユーザーが共有するデータを細かく制御できる機能は維持したまま、複数の権限リクエストを 1 つの画面にまとめました。今回の変更は、この操作の改善の延長線上にあります。
サンプルアプリがアクセスできる内容を選択する画面のスクリーンショット
Identity チームは、今後もフィードバックを集め、Google Identity サービスやアカウント データの共有に関する全般的なユーザー エクスペリエンスをさらに向上させたいと考えています。

デベロッパーが行うべきこと

アプリで必要になる変更は何もありません。ただし、段階的な認証を使って、アプリが必要とするときに一度に 1 つずつリソースをリクエストすることをお勧めします。そうすることで、アカウント データをリクエストする必要性がユーザーに伝わりやすくなるので、同意コンバージョン率が増加するはずです。段階的な認証の詳細は、デベロッパー ガイドでご確認ください。

一度に複数のリソースが必要なアプリで一部しか同意されなかった場合は、問題が起きないように処理し、OAuth 2.0 ポリシーに従って適切に機能を縮退してください。

関連コンテンツ

Reviewed by Eiji Kitamura – Developer Relations Team<!—->