この情報は、認証に WebView を使用するアプリのデベロッパーを対象としています。
状況
お客様のアプリの中に、認証に WebView を使用するものが含まれていますが、この方法は推奨されません。OAuth 2.0 リクエストに WebView を使用すると、アプリのセキュリティとユーザビリティの両方に悪影響を与えます。アプリの認証方法を移行する手順については、下記の情報をご覧ください。WebView を使用して OAuth 2.0 リクエストが行われるアプリ内の場所は、アプリに関する Google Play Console の通知で確認できます。「(動的に読み込まれたコード内)」で終わっている位置情報は、アプリまたはアプリで使用されるライブラリによって動的に読み込まれるコード内にあります。アプリは通常、オンデマンド機能配信を通じて動的に読み込まれたコードを使用しますが、推奨されない手法もあります(推奨されない手法の中には Google Play のポリシーに違反するものもあるため、使用しないことをおすすめします)。また、アプリケーション コードを動的に読み込まれるコードに変換することもできます。
なお、この問題を修正することを推奨しますが、必須ではありません。この問題を修正しなくても、アプリの公開ステータスは影響を受けません。
その他の詳細
Chrome カスタムタブのリリース以降、認証に WebView を使用しないことを推奨します。WebView で認証に OAuth を使用すると、ユーザーがシングル サインオン セッションから切断されるため、アプリにセキュリティの問題が発生しやすくなるとともに、ユーザビリティが低下する可能性があります。Chrome カスタムタブを実装することにより、こうした問題の発生は減少します。
次のステップ
1. アプリを更新し、「認証での WebView の使用」アラートを以下の手順に沿って修正する
- WebView を使用して OAuth 2.0 リクエストが行われる場所をアプリで確認します。
- この WebView を Chrome カスタムタブに置き換えることを推奨します。Chrome カスタムタブの実装ガイドの手順に沿って、アプリに Chrome カスタムタブを追加してください。
- 追加した Chrome カスタムタブを使用して OAuth 2.0 リクエストを実行します。
2. 更新した APK を送信する
更新した App Bundle または APK を送信するには:
- Google Play Console にアクセスします。
- アプリを選択します。
- App Bundle エクスプローラに移動します。
- 右上のプルダウン メニューで、ポリシーに準拠していない APK または App Bundle のアプリのバージョンを選択し、該当するリリースを書き留めます。
- ポリシーに関する問題があるトラックに移動します。4 つのページ([内部テスト]、[クローズド テスト]、[オープンテスト]、[製品版])のいずれかになります。
- ページの右上にある [新しいリリースを作成] をクリックします(場合によっては、先に [トラックを管理] をクリックする必要があります)。
- 違反している APK を含むリリースが未公開の状態の場合は、リリースを破棄します。
- ポリシーに準拠したバージョンの App Bundle または APK を追加します。
- ポリシーに準拠していないバージョンの App Bundle または APK がこのリリースの [含まれない APK] セクションに表示されていることを確認します。詳しくは、Google Play Console ヘルプセンターのこちらの記事の「含まれない(App Bundle と APK)」を参照してください。
- リリースの変更内容を保存するには、[保存] を選択します。
- リリースの準備が完了したら、[リリースのレビュー] を選択します。
- ポリシーに準拠していない APK が複数のトラックでリリースされている場合は、トラックごとにステップ 5~9 を繰り返してください。
新しいアプリやアプリのアップデートは、リクエストの審査が終わるまでの間、ステータスが [審査中] になります。アプリが適切に更新されていない場合は、引き続き警告が表示されます。
サポートのご案内
この脆弱性に関する技術的なご質問は、「android-security」タグを付けて Stack Overflow にご投稿ください。この問題の解決手順にご不明な点がありましたら、サポートチームにお問い合わせください。