何百万人ものデベロッパーが Google の Identity Platform を使ってユーザー認証を行い、たくさんの API へのアクセスを認可できるようにしています。このプラットフォームを支えているのは、OAuth 2.0 プロトコルとそれに関連する OpenID Connect 標準の世界最大規模の実装です。この仕組みによって、シームレスかつ安全な信頼性の高い方法で Google と連携できるようになっています。ここでは、このプラットフォームの安全性と使いやすさをさらに高めるためのアップデートについてお知らせします。
認証や、Google API を呼び出す認可を得るために「Google でログイン」を使っているデベロッパーは、アプリやウェブサイトを登録してクライアント認証情報を作成する必要があります。Google Cloud Console を使う場合、これまでは API とサービスセクションに OAuth 設定のページがありました。今回、このページが独立し、Google Auth Platform という専用のナビゲーション セクションに移動します。この変更の一環として、新しいプロジェクトの登録を簡単にし、短時間でアプリの構成変更を行えるようにするとともに、デベロッパーに役立つガイダンスも追加しています。オンボーディング ウィザードの改善、OAuth スコープ管理の簡素化、透明な方法ですばやくアプリの確認を行えるようにするための変更など、今後数か月でさらに改善を行う予定ですので、ご期待ください。
Firebase や Apps Script など、他のコンソールで OAuth 機能を使っているデベロッパーのエクスペリエンスは変更されません。
一部の OAuth クライアントは、認証や認可の要求に「シークレット」が必要です。クライアント シークレットは、ウェブサイトやアプリケーションのパスワードのようなものなので、この文字列を保護し、ユーザーのアカウントやデータのセキュリティとプライバシーを維持することが重要です。
これまで、デベロッパーは、Google Cloud Console や Firebase コンソールなど、Google デベロッパー プロダクトの中で専用のクライアント シークレットを表示したり、ダウンロードしたりすることができました。6 月からは、Google Cloud Console のクライアント管理ページに表示される OAuth シークレットがマスクされます。ただし、識別に役立つように、最後の数文字がデベロッパー コンソールに表示されます。
デベロッパーは、作成時に OAuth クライアント シークレットをダウンロードし、安全な方法で管理する必要があります。ほとんどのデベロッパーは、すでに Google Cloud Platform の Secret Manager やそれと同等のツールを使っています。作成画面を閉じると、クライアント シークレットを再表示することはできなくなります。
なお、ユーザーデータやその他の本番システムへのアクセスを許可する OAuth クライアント シークレットを、バージョン管理システムにチェックインしたり、インターネットで広く共有したりしてはなりません。シークレットは定期的にローテーションし、漏洩した場合は直ちに変更する必要があります。
認証情報の盗難や誤用に対する保護を強化するため、6 月より、6 か月間アクティブでない OAuth クライアントを自動削除します。この 6 か月の期間は、トークン交換がなくなってからの日数です。デベロッパーには、アクティビティがなかったために削除されたことが通知されます。削除後 30 日以内であれば、クライアントを復元できます。
このような通知など、アプリに関連する通知をもれなく受け取れるように、連絡先情報の設定を確認してください。
以上の改善と、今年中に予定されているその他の改善により、これまで以上にシンプルで安全なエクスペリエンスを提供できるので、皆さんにとっては、ユーザーに役立つアプリやサイトの開発に費やせる時間が増えます。