1. ホーム
  2. android

[解決済み] Google OAuth認証が突然失敗し、"disabled_client "が発行される。

2022-02-15 19:53:44

質問

私たちは、Java ScriptとAndroidのフロントエンドを持つWebアプリケーションを運営しています。認証にはOAuthを使用したGoogle IDを使用しています。今日まですべてうまくいっていたのですが、突然認証ができなくなりました。新しいソフトウェアのバージョンをデプロイしたわけでも、運用上の変更があったわけでもありません。現在、ユーザーがブラウザアプリケーションからログオンしようとすると、Googleは次のようなメッセージを発します。

401. That’s an error.
Error: disabled_client
The OAuth client was disabled.
Request Details
  scope=openid profile email
  response_type=code
  redirect_uri=https://***.net/signin-google
  state=***
  client_id=******.apps.googleusercontent.com
That’s all we know.

Androidアプリでログインすると、認証にも失敗し、GoogleAuthUtil.getTokenで不特定の例外が発生する。

このエラーメッセージについてググっても、あまり情報が見つかりませんでした。同意画面でアプリケーション名を変えてみるといいという話もあります。私の場合、これは役に立ちませんでした。

開発者コンソールで、このプロジェクトに新しいクライアントIDを作成できないことに気づきました。私はいつも技術的なエラー("サーバーエラーWhoops!Our Bad.")と追跡番号が表示されます。関連性があるように思われます。

このプロジェクトには合計7つのクライアントIDが登録されており、3つの公開APIアクセスキーがあります。

Googleが明示的に私たちのプロジェクトを無効にした、という可能性はないでしょうか?実際にそのように感じています。どのような理由で?何の通知もありません。私たちの製品はアクセスコントロールのためのアプリケーションであり、特別なことや違法なことは何もありません。

何か思い当たることはありますか?これは本番環境なので、私たちにとってこの問題は絶対に深刻です。

よろしくお願いします。

解決方法は?

その間に、私たちのAndroidアプリがPlayストアから削除されたことがわかり、次のような通知が届きました。

<ブロッククオート

これは、パッケージ ID が <...> のアプリケーションを Google Play ストアから削除したことを通知するものです。 削除理由: コンテンツポリシーの個人情報および機密情報の規定に違反したためです。詳細については、ポリシーのヘルプ記事を参照してください。

  • クレジットカード番号、政府の身分証明書番号、運転免許証などの免許証番号、非公開の連絡先など、人々のプライベートな機密情報の不正な公開や開示を許可しません。

ホールアプリはセキュリティが重要であり、お客様の信頼が絶対不可欠なため、アプリ内のデータには細心の注意を払っており、プライバシーやセキュリティには非常に気を遣っています。しかし、最近、デバッグのためにLogCatの出力を定期的にサーバーに送信する機能を導入しました。私たちのアプリは、アプリの説明で明らかにしているように、初期のプレビューの状態にあります。私たちが提供する特別なハードウェアでしか使用できないため、非常に限られた人たちによって使用されています。LogCatの出力には、アプリからのデータのみが含まれ、自信のあるデータは一切含まれません。関連するアプリをいくつか公開しましたが、全てにその機能が含まれているわけでもなく、全て停止されました。ただし、私たちは 推測 この機能が削除の理由だと思います。

編集 その間に、Google Playに用意されたフォームからアピールを書きました。その後まもなく、Google Playと関連するGoogle OAuth Clientから禁止事項が削除されました。

私たちのアプリが実行中のタスクの名前を収集し、私たちのサーバーに送信していると知らされましたが、そうではありません。しかし、我々はcritercismライブラリを使用し、critercismのドキュメントでは"GET_TASKS"パーミッションを要求するよう提案されており、我々はそれを実行しました。Crittercismは多くのアプリケーションで使用されているので、それほど危険だとは思っていません。しかし、一方ではLogging Service、他方ではGET_TASKSパーミッションの組み合わせは、我々のケースでは危険ではないものの、Googleのいくつかの自動ルールをトリガーしたのかもしれません。

この問題を解決するために、私たちはCrittercismと関連するすべてのパーミッションの要件を削除しました。