[解決済み] Googleからの「OAuthクライアントが削除されました」というのは、鍵が無効ということですか?
質問
のリーク値を追跡しようとしています。
GOOGLE_CLIENT_SECRET
と
GOOGLE_CLIENT_ID
. 私はこの基本的なflaskアプリを実行します。
こちら
docker で localhost にリンクし、/etc/hosts を編集して "myserver.local.com" にマップし、ページにアクセスします。このアプリはGoogle OAuth 2.0による認証を試みます」という画面でログインをクリックすると、次のようなエラーが表示されます。
Authorization Error
Error 401: deleted_client
The OAuth client was deleted
削除後30日以内にプロジェクトを復元できる可能性を除けば、流出したキーは脅威にはならないと捉えてよいでしょうか。プロジェクト内には見当たらないので、自分で削除するわけにもいきません。
解決方法は?
クライアントIDには プロジェクト番号 . クライアントIDは、次のように構成される。
<PROJECT_NUMBER>-<RANDOM_STUFF>.apps.googleusercontent.com
プロジェクトへのアクセス権を持っている場合、資格情報のリストにアクセスするには、リンク先で
https://console.cloud.google.com/apis/credentials?project=<PROJECT_NUMBER>
.
そこで、クライアントIDが削除されているかどうかを確認し、削除されていない場合は、自分で削除してください。
また、プロジェクトが削除待ちかどうかを確認するには、このコマンドで同じプロジェクト番号を使用します(要
gcloud
がインストールされ、適切に認証されていること)。
curl -H"Authorization: Bearer $(gcloud auth print-access-token)" -H'Accept: application/json' \
'https://cloudresourcemanager.googleapis.com/v1/projects?filter=projectNumber%3A<PROJECT_NUMBER>'
の通りです。
API
の定義によれば、もしレスポンスにフィールド
"lifecycleState":"DELETE_REQUESTED"
これは、そのプロジェクトが削除待ちであるが、まだ回復可能であることを意味します。
これらの手順はすべて、あなたが認証情報を使ってプロジェクトにアクセスできることが条件となります。もし、あなたがそのアクセス権を持っていないのであれば、誰か持っている人を探してください。そのプロジェクトが組織内にあった場合、組織レベルの権限を持つ人が、組織内のすべてのプロジェクトにアクセスできるはずです。
とはいえ、このエラーはクライアントが削除されたことを意味するようで、少なくとも削除時の警告メッセージによれば、削除されたクレデンシャルを回復する方法はないようです。
一番危険なのは、流出した認証情報にプロジェクト番号が含まれていることですが、プロジェクト番号だけを悪用するのはかなり難しいです。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン