[英]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.