Firebase 身份验证模拟器电子邮件/密码登录 REST 端点

问题描述 投票:0回答:1

我可以使用此端点

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"
            }
        ]
    }
}
firebase-authentication firebase-tools
1个回答
40
投票

这个有效 -

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

出现问题
© www.soinside.com 2019 - 2024. All rights reserved.