問題タブ [google-auth-library]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - HTTP 403 エラーが禁止されていることを示す Google 認証
ローカルホストでスクリプトを実行すると、正常に動作します。しかし、403エラーを示すサーバーでは:
リダイレクト URL の Google コンソールで -
xyz.com/change/googlelogin
ブラウザで-Google認証でログインした後、次のように表示されます-
xyz.com/change/googlelogin?code=4/sgAnQ7T_O5l7bDPgaMQ4_s-c0Abz_wxsVPIt5bPQdaklIdF0QyoQicTXyW7CUQHh5ScUBZ4GYyyV8cZyiX-mu3s&scope=email%20profile%20infohttps://www.googleapis.com/ profile%20https://www.googleapis.com/auth/userinfo.email 上記のエラー
node.js - NodeJS を使用して Google Cloud Storage で google-auth-library を使用するには?
NodeJS でGoogle Cloud Storageを使用したいが、 google-auth-library で認証し たい 具体的には、これを heroku でホストしたいので、シークレットをファイルではなく環境変数に保持したい (必要になるため)ファイルをコミットして heroku にデプロイします)。基本的に認証ライブラリで提案されているもの: https://github.com/googleapis/google-auth-library-nodejs#loading-credentials-from-environment-variables
しかし、結果のクライアントを Storage コンストラクターに渡すことができないようです。
jwt - Google サインイン: google-auth Python パッケージを使用する場合の「キー ID xxxx の証明書が見つかりません」
Web サイトとそのモバイル アプリ (iOS および Android) を管理しています。モバイル アプリでの Google サインインの場合、サーバー側でgoogle-auth Python パッケージを使用しています。
1か月ほど前から、サーバー側からGoogleサインインに関するエラーレポートが届くようになりました。エラー メッセージは次のようになります。
キー ID 728f4016652079b9ed99861bb09bafc5a45baa86 の証明書が見つかりません。
サーバー側の Google ログイン認証バックエンドは、次のドキュメントに従います。
このエラーは、Google が発行した JWT を Google の公開証明書のリストに対して検証するときに、google.auth.jwt モジュールから発生します。
google-auth コードverify_oauth2_token()
に飛び込むと、関数が URL https://www.googleapis.com/oauth2/v1/certsから Google の公開証明書を取得していることがわかります。一部の Android フォンから送信された一部の Google ID トークンでは、その URL でキー ID が見つからない場合があります。
役立つ可能性のあるその他の詳細を次に示します。
- iOS アプリにはこのような問題はないようです。ヘッダーから、
USER_AGENT
Android アプリ ( ) でのみエラーが発生していることがわかりますUSER_AGENT=okhttp/3.11.0
。また、すべてではなく、一部の Android デバイスでのみ発生します。 - これは中国の Android スマートフォンでのみ発生するのでしょうか (VPN 経由で接続している場合など)。そのため、ユーザーの IP アドレスも確認しました。しかし、それらのユーザーの一部はヨーロッパから来たことが判明しました。
- 一部のキー ID がサーバー エラー ログで何度も繰り返されています。たとえば、キー ID
aa436c3f63b281ce0d976da0b51a34860ff960eb
は、11 月の初めから現在 (12 月末) まで、何十回も見られます。 - 毎日数回(10〜30回)、このエラーが常に表示されます。
私のウェブサイトは次の環境で実行されています。
- OS: Linux (CentOS 7) 64 ビット
- mod_wsgi 4.5.24 を使用する Apache 2
- Python 3.6.7 および Django 2.1.2
- google-auth バージョン: 1.3.0 と 1.6.1 の両方を試しました
iPhone でも Android フォン (フランスで購入した Huawei P20) でもこの問題を再現できなかったため、完全に行き詰まりました。
しかし、私の友人の 1 人が現在この問題を抱えており、彼は香港から Android フォンを購入しました。これにより、一部の国では、Google サインインがhttps://www.googleapis.com/oauth2/v1/certsの公開証明書以外のいくつかの異なる証明書を使用する可能性があると思いますか?
これは google-auth パッケージのバグではないと思います。このエラーについて聞いたことがある人がいるかどうか疑問に思っています。考えられる原因についてのヒントを教えてください。
前もって感謝します!