简体   繁体   English

身份工具包 API 配置返回“CONFIGURATION_NOT_FOUND”

[英]Identity Toolkit API config returns "CONFIGURATION_NOT_FOUND"

I am trying to enable Firebase Authentication in my project, and to add Phone Auth to it, via API (without using the GUI console).我正在尝试在我的项目中启用Firebase Authentication ,并通过 API 向其中添加Phone Auth身份验证(不使用 GUI 控制台)。

I am using the Service Usage API in order to enable Identity Toolkit , and then trying to use Identity Toolkit API in order to add the Phone Auth .我正在使用Service Usage API来启用Identity Toolkit ,然后尝试使用Identity Toolkit API来添加Phone Auth

I am enabling Identity Toolkit via the Service Usage API like this (POST request):我通过Service Usage API启用Identity Toolkit ,如下所示(POST 请求):

URL : URL

https://serviceusage.googleapis.com/v1/projects/MY_GCP_PROJ/services:batchEnable

Body :身体

{
  "serviceIds": ["identitytoolkit"]
}

And indeed, after running this request I see in GCP console that Identity Toolkit has been enabled.事实上,在运行此请求后,我在 GCP 控制台中看到Identity Toolkit已启用。

After that, I try to update the config using Identity Toolkit API , like this (PATCH request):之后,我尝试使用Identity Toolkit API更新配置,如下所示(PATCH 请求):

URL : URL

https://identitytoolkit.googleapis.com/v2/projects/MY_GCP_PROJ/config?updateMask=signIn

Body :身体

{
    "signIn": {
        "phoneNumber": {
            "enabled": true,
            "testPhoneNumbers": {
                "+11111111111": "123456",
            }
        },
    }
}

But for some reason, I receive an error saying:但由于某种原因,我收到一条错误消息:

{
    "error": {
        "code": 404,
        "message": "CONFIGURATION_NOT_FOUND",
        "status": "NOT_FOUND"
    }
}

I can't understand why the Identity Toolkit API cannot find the configuration and update it as specified.我不明白为什么Identity Toolkit API找不到配置并按指定更新。

Does anyone know how it can be solved?有谁知道如何解决?

Thank you谢谢

Update - pipeline responses更新 - 管道响应管道响应

Update 2 - service account permissions更新 2 - 服务帐户权限

App Engine Admin App 引擎管理员

App Engine flexible environment Service Agent App Engine 柔性环境服务代理

Cloud Datastore Index Admin云数据存储索引管理员

Cloud Datastore User云数据存储用户

Cloud Deploy Admin云部署管理员

Cloud Deploy Service Agent云部署服务代理

Cloud Functions Service Agent云功能服务代理

Cloud Storage for Firebase Admin云存储 Firebase 管理员

Cloud Storage for Firebase Service Agent Firebase 服务代理的云存储

Firebase Admin Firebase 管理员

Firebase Admin SDK Administrator Service Agent Firebase 管理员 SDK 管理员服务代理

Firebase Authentication Admin Firebase 身份验证管理员

Firebase Authentication Viewer Firebase 认证查看器

Firebase Cloud Messaging API admin Firebase 云消息 API 管理员

Firebase Develop Admin Firebase 开发管理员

Firebase Extensions API Service Agent Firebase 扩展 API 服务代理

Firebase Remote Config Admin Firebase 远程配置管理员

Firebase Rules Admin Firebase 规则管理员

Firebase SDK Provisioning Service Agent Firebase SDK 供应服务代理

Firebase Service Management Service Agent Firebase 服务管理服务代理

Firestore Service Agent Firestore 服务代理

Google Batch service agent谷歌批处理服务代理

Identity Platform Admin身份平台管理员

Identity Platform Viewer身份平台查看器

Identity Toolkit Admin身份工具包管理员

Identity Toolkit Viewer身份工具包查看器

Organisation Administrator组织管理员

Owner所有者

Storage Object Admin存储 Object 管理员

Ok, the following works for me.好的,以下对我有用。

Per discussion, you must enable identitytoolkit in the Firebase project:根据讨论,您必须在 Firebase 项目中启用identitytoolkit

SERVICE="identitytoolkit"
gcloud services enable ${SERVICE}.googleapis.com \
--project=${PROJECT}

# verify:

gcloud services list \
--enabled \
--project=${PROJECT} \
--filter=config.name=${SERVICE}.googleapis.com \
--format="value(state)"
# Want: ENABLED

Then:然后:

PROJECT="[YOUR-FIREBASE-AUTH-PROJECT]"
ACCOUNT="[YOUR-SERVICE-ACCOUNT]"
EMAIL="${ACCOUNT}@${PROJECT}.iam.gserviceaccount.com"

TOKEN=$(gcloud auth print-access-token ${EMAIL}

DATA='
{
  "signIn":{
    "phoneNumber":{
      "enabled":true,
      "testPhoneNumbers":{
        "+11111111111":"123456"
      }
    }
  }
}
'

curl \
--silent \
--request PATCH \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "${DATA}" \
https://identitytoolkit.googleapis.com/v2/projects/${PROJECT}/config?updateMask=signIn

Then:然后:

curl \
--silent \
--request GET \
--header "Authorization: Bearer ${TOKEN}" \
--header "Accept: application/json" \
https://identitytoolkit.googleapis.com/v2/projects/${PROJECT}/config \
| jq -r .signIn.phoneNumber
{
  "enabled": true,
  "testPhoneNumbers": {
    "+11111111111": "123456"
  }
}

The same issue happened to me when I was trying to use REST API but then I get to know that the URL I am using was wrong.当我尝试使用 REST API 时,同样的问题发生在我身上,但后来我知道我使用的 URL 是错误的。 Try Method: projects.updateConfig尝试方法:projects.updateConfig

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 firebase:CONFIGURATION_NOT_FOUND - firebase : CONFIGURATION_NOT_FOUND Firebase 代码 400“消息”:“CONFIGURATION_NOT_FOUND” - Firebase code 400 "message": "CONFIGURATION_NOT_FOUND" com.google.firebase.FirebaseException:发生内部错误。 [ CONFIGURATION_NOT_FOUND ] - com.google.firebase.FirebaseException: An internal error has occurred. [ CONFIGURATION_NOT_FOUND ] 使用 Firebase 身份验证时禁用身份工具包 - Disable Identity Toolkit when using Firebase Authentication 谷歌云端点和谷歌身份工具包 - Google cloud endpoints and Google Identity Toolkit 未找到环境配置。 默认 AzureCredential() - No environment configuration found. DefaultAzureCredential() Babel Javascript 错误 - 找到多个配置文件 - Babel Javascript Error - Multiple configuration files found Redux-Toolkit 对 firestore 的 createAsyncThunk 请求返回 undefined - Redux-Toolkit createAsyncThunk request to firestore returns undefined GitLab CI 配置无效:stages config 应该是字符串数组 - GitLab CI configuration is invalid: stages config should be an array of strings AWS API 网关动态 url 配置 - AWS API Gateway dynamic url configuration
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM