Google OAuth申請の注意点

2023/04/24に公開

初めまして!
サーバーサイドエンジニアをしております伊藤と申します

今日は、GoogleのOAuth申請についての注意点についてまとめます
備忘録に近いです

GoogleOAuth申請とは何か?

Gmail, Calendar, Driveなど機密性の高いAPIを使用するアプリを作成し公開する場合
Googleによる確認を受ける必要があります
申請しなくてもアプリを使用できなくないですが、利用制限がかかりますので必ず対応していきましょう

今回は注意点だけつらつら書いていきます
業務上画像をお出しできず誠に申し訳ありません。

承認までにどれくらいかかるのか

おおよそ2週間程度です
これはタイミング、何回やり直すかによって大きく左右されます
ちなみに私は1週間半でした
一回の申請リクエストから回答があるまで1日ほど時間がかかります

事前準備

用意する物が4個あります

  1. アプリのホームページ(LP)
  2. プライバシーポリシー
  3. 申請するスコープの洗い出し
  4. スコープをいつどの様に使うのかのデモ動画を撮影し、Youtubeにアップロード

一つずつコメントしていきます

アプリのホームページ(LP)

申請するアプリと同じドメイン内で、アプリケーションの紹介をするページが必要です。
大事なことは
・申請するアプリと同じドメイン内であること
・そのアプリで何ができるのか(スコープを用いて何が実現できるのか)が紹介されていること

つまり違う場所で公開しているLPを申請で使用してもやり直しになってしまいます。
たまにLPにログインや新規登録リンクがあるサービスを見かけますが、それが無難です

プライバシーポリシー

こちらも申請時に必要です。
また、上記のアプリホームページにプライバシーポリシーへのリンクが含まれている必要があります
プライバシーポリシーにアプリ名が入っている方が好ましいです

※ですが、「プライバシーポリシーがあること」という点だけを見ている可能性がある
 とおっしゃる方もいます

Googleからのメッセージ原文は以下の通りです。

It looks like your homepage URL https://myapp-hoge.jp
 is a login screen, which means information about your app and its intention is not publicly accessible. Your homepage must accurately show your app’s identity to users. If your app requires a log in, you should move the limited access sign-in procedure to a separate web page.
If your app is meant to be available to the public, make sure your app’s homepage URL shows content associated with your brand, accurately shows your app's identity, and clearly describes what your app does.

申請するスコープの洗い出し

こちらはアプリ開発者に確認すればすぐに出てくるはずです。
一点、「制限付きスコープ」を選択してしまうと、別途セキュリティ評価期間に提出する必要があり、膨大な費用がかかるので、なるべく避けましょう

通常は「機密性の高いスコープ」のはずです...

スコープをいつどの様に使うのかのデモ動画をYoutubeにアップロードすること

これが一番大変です!!!頑張りましょう!!!
申請するスコープを漏れなく網羅したデモ動画を撮影する必要があります

以下注意事項です
・動画内で表示される言語は全てEnglish(United States) に変換してください
・認証画面でclient_idをテロップに出してください
・認証画面で、スコープの一つ一つを開いて中を見せてください
・スコープを使用する場面で「何を使用しているか」テロップを入れてください
・ログインボタンはGoogleのガイドラインに沿った物を使用してください
・アップロードした動画は「公開設定」にしてください
 => 限定公開では却下されます

動画撮影の流れは以下のようになります

  1. ブラウザの表示言語を英語に変更する
  2. ホームページを見る
  3. プライバシーポリシーを見る
  4. ユーザーの登録をする
  5. ユーザーのログインをする
  6. Googleの認証画面に遷移する
  7. 言語をEnglish(United States)に変更する
  8. client_idをテロップに表示させる
  9. スコープを一つずつ開け、中を見せる
  10. 認証する
  11. スコープを使用している画面に遷移
  12. 「このスコープを使用していますよ」とテロップを表示

実際にGoogleから指摘されたメッセージ原文は以下の通りです。

  • Video is publicly accessible.
  • OAuth Consent Screen is in English.
  • OAuth Consent Screen shows the App Name.
  • URL bar of the OAuth Consent Screen fully displays the Client ID in your project which contains the project_number (This is not required for native Android and iOS apps).
  • Video shows the OAuth grant process that users will go through including the Google sign-in button which is used to launch OAuth.
  • Video shows how the data will be used by showing functionality for each sensitive and restricted scope you've requested.
  • Video shows how data is accessed on each OAuth client.
  • If any of your OAuth clients are not ready for production, you should delete or remove them from this project. You can do this in the Google Cloud Console.
  • If your app requires registration or has a local login:
  • Please whitelist or authorize our test email account  - this will let us test your app’s functionality.
    oauthtest121@gmail.com
  • OR provide us with the username and password of a test account.
  • You do not need to be personally visible in the demo or narrate the video. Demonstrating the process from the keyboard/screen view is fine.
  • If you cannot fulfill the above requirements because users are currently seeing the "This app is blocked" screen, make sure you provide us with an email address so that we can temporarily disable the warning screen, allowing you to demonstrate all of the above video requirements.
  • If you cannot fulfill the above requirements because your app is an add-onthat has not yet been published to the GSuite Marketplace, please >reply to let us know.
  • How does user sign-up on your app and grants access to the sensitive scopes requested in verification(ensuring that the URL bar with the client ID is clearly visible)
  • OAuth consent screen/Permissions Page as seen by end users
  • How does your application use the requested scopes to provide services to developers

さて、書けることは以上です
この記事で少しでもみなさまのお役に立てれば幸いです。

以下を参考に私も申請をしましたので、ぜひ併せてお読みください

参考

【Android・iOSアプリ】Google APIのOAuth検証:具体的な申請方法と承認を得るための注意点を解説

Googleアドオンの申請でハマるポイント

GoogleのOAuth審査に苦労した話

Arsaga Developers Blog

Discussion