認証されていない AllUsers アクセスを許可するか、Identity Aware Proxy でアクセスを制御するために IAM をオンにすると、正しく機能する Google Cloud App Engine アプリがあります。ただし、このページhttps://cloud.google.com/iap/docs/cloud-run-sign-inの指示に従って、 Cloud Run Hosted サインインを外部 ID で有効にし、ログイン ページまたはGoogle Cloud Run がホストするサインイン ページにアクセスすると、ブラウザに次のエラーが表示されます。
「URI /computeMetadata/v1/instance/service-accounts/default/token?scopes=https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/を取得できませんでしたアイデンティティツールキット」
コンテキストとして、ユーザー サインインをホストする Google Cloud Run サービスは、すべての非認証を許可するように設定されています。Google App Engine Web アプリにリダイレクトする必要があります。これはアクセス許可またはリダイレクトに関連していると思いますが、修正方法について途方に暮れています。何かご意見は?ありがとう!
Cloud Run Service を再デプロイし、IAP のオンとオフを切り替え、IAM と外部 ID を切り替えて修正を試みましたが、成功しませんでした。
@John Hanley に感謝します。私のコンピューティング エンジン サービス アカウントの 1 つが、プロジェクト内で何らかの理由で無効になっていることを発見しました。再度有効にすると、問題が部分的に解決しました。アクセス許可とリダイレクトのマトリックスを作成して、それらが整合していることを確認するために、より多くの時間を費やします。
私は当初、自分の質問に完全に答えて問題を解決したと思っていました。残念ながら、外部 ID 認証方法の実装で解決できた問題は 1 つだけでした。
その他の問題の説明: メール/パスワードと Google をプロバイダーとして有効にしましたが、Google で認証するオプションをクリックすると、ブラウザーに次のテキストが表示されます:「要求されたアクションは無効です。」
Dev Tools のコンソールで、次のエラーが表示されます。
次の URL が URL バーに表示されます。
https:// .firebaseapp.com/__/auth/handler?apiKey= mykey &appName=%5BDEFAULT%5D-firebaseui-temp&authType=signInViaRedirect&providerId=google.com&customParameters=%7B%22hl%22%3A%22en%22%7D&scopes= profile&redirectUrl=https%3A%2F%2Fiap-gcip-hosted-ui-app-engine-app- myserver -uc.a.run.app%2F%3FapiKey%3D mykey**&v=7.16.0&fw=FirebaseUI-web
mykeyとmyserverはこの記事では削除されており、実際の値ではありません。
メール/パスワード サインインは機能しますが、Google サインインは機能しません。ここで何が欠けていますか?