アプリケーションがユーザーに代わってデータにアクセスする必要がある場合、これは 3-legged OAuth フローと呼ばれます。3-legged OAuth フローでは、アプリケーションがエンドユーザーから認証情報を取得し、エンドユーザーがアカウントにログインして認証を完了します。その後、アプリケーションはエンドユーザーの認証情報を使用して、ユーザーに代わって Cloud Storage リソースにアクセスします。このアプローチを使用できるシナリオの例を次に示します。
- ウェブサーバーアプリケーション
- インストールされたアプリケーションとデスクトップアプリケーション
- モバイルアプリ
- クライアント側の JavaScript
- 入力が限られたデバイス上のアプリケーション
その他のシナリオでは、サービス アカウントの認証情報を使用することをおすすめします。
エンドユーザー向けに複数の認証オプションをサポートするアプリケーションを設計している場合は、Firebase 認証を使用します。メールとパスワードによる認証に加えて、Google、Facebook、Twitter、GitHub などの ID プロバイダを使用した連携ログインがサポートされています。 別のユースケースで認証システムを設定する方法については、Firebase Authentication の開始方法をご覧ください。
エンドユーザーに代わってデータにアクセスするアクセス トークンがエンドユーザーからアプリケーションに付与されている場合、そのアクセス トークンは、トークンを付与するユーザーが使用できる権限のみを持ちます。たとえば、jane@example.com に example-bucket
に対する read-only
アクセスが許可されている場合、Jane から read-write
アクセス権が付与されたアプリケーションは、彼女に代わって example-bucket
に書き込みを行うことはできません。
次のステップ
- Cloud Storage での認証の詳細を確認する。