我可以使用此端点
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API-KEY]
(可在 这些文档 @ 部分使用电子邮件/密码登录)通过 HTTP 请求登录 Firebase 身份验证用户。
是否有办法在 Firebase 身份验证模拟器上完成此操作 - 是否有模拟器 REST 端点可以提供相同的功能?
当我在端口 9099 上运行身份验证模拟器时,我尝试过 -
。
http://localhost:9099/v1/accounts:signInWithPassword?key=[API-KEY]
http://localhost:9099/emulator/v1/accounts:signInWithPassword?key=[API-KEY]
http://identitytoolkit.localhost:9099/emulator/v1/accounts:signInWithPassword?key=[API-KEY]
http://localhost:9099/identitytoolkit/v3/relyingparty/verifyPassword?key=[API-KEY]
但是没有一个起作用。有什么想法吗?
这是我对每个请求得到的答复 -
{
"error": {
"code": 404,
"message": "Not Found",
"errors": [
{
"message": "Not Found",
"reason": "notFound"
}
],
"status": "NOT_FOUND"
}
}
编辑: 还尝试过这个:
http://localhost:9099/identitytoolkit.googleapis.com/v1/projects/emulator-test-project-id/accounts?key=[API-KEY]
但得到回应
{
"error": {
"code": 400,
"message": "INSUFFICIENT_PERMISSION : Only authenticated requests can specify target_project_id.",
"errors": [
{
"message": "INSUFFICIENT_PERMISSION : Only authenticated requests can specify target_project_id.",
"reason": "invalid",
"domain": "global"
}
]
}
}
这个有效 -
http://localhost:[PORT]/identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API-KEY]
其中
API-KEY
可以是任何字符串,9099 是运行身份验证模拟器的 PORT
。对我来说,默认为 9099,但您可以通过您的firebase.json
(更多详细信息,请参阅此处) 进行配置
编辑 2024 年 3 月 19 日: 您可能需要使用
127.0.0.1
而不是 localhost
,因为我认为最近的 firebase-tools 更新可能导致使用 localhost 出现问题