【问题标题】:firebase email/password auth with REST API带有 REST API 的 firebase 电子邮件/密码验证
【发布时间】:2016-04-21 07:30:15
【问题描述】:

是否可以使用 REST API 而不是 SDK 进行电子邮件/密码验证? (无需设置我自己的令牌服务器)

我在文档中找不到任何关于它的内容。

【问题讨论】:

  • 不。没有公共 REST 端点来使用电子邮件+密码对用户进行身份验证。由于之前有人问过这个问题,我会找到并标记为重复。
  • 找不到骗子,我就回答一下。

标签: firebase firebase-authentication


【解决方案1】:

登录 发布

https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=<web-key>

请求正文:

{
  "email": "email",
  "password": "password",
  "returnSecureToken": true
}

更多信息:Firebase Auth Docs

【讨论】:

  • 您是否有机会使用身份验证模拟器来实现这一点?我尝试用 localhost:9099 替换域,但这不起作用
  • @DavidRitchie 使用 auth 模拟器完成此任务有什么运气吗?
  • @MikeG 抱歉,还没有时间回到这个问题上。我相信 auth 模拟器最近已经做了很多工作,并且可能很快就会进入稳定版本。
  • 不用担心@DavidRitchie 我昨天提出了一个问题,但在stackoverflow.com/questions/66342941/…之后不久就解决了问题@
【解决方案2】:

是的,你可以做到!不知道为什么 firebase 文档对 REST 如此迟钝。我检查了应用程序是如何用这个 https://github.com/firebase/generator-angularfire 生成的。它在几种情况下使用 REST。深入挖掘。我不知道此方法中的所有参数,但它有效。

登录

GET
<url to your firebase instanse>/auth/password?&email=<email>&password=<password>&v=js-2.2.2&transport=json&suppress_status_codes=true

注册

POST
<url to your firebase instanse>/users?&email=<email>&password=<password>&_method=POST&v=js-2.2.2&transport=json&suppress_status_codes=true

【讨论】:

    【解决方案3】:

    没有。

    没有公共 REST 端点可以使用电子邮件+密码(或任何其他支持的提供商)对用户进行身份验证。使用 REST API 时,您必须创建自己的令牌、使用 Firebase 的密钥或从其他地方获取令牌(例如,从客户端应用传递到您的代码)。

    【讨论】:

    • 你的意思是把firebase的秘密硬编码到客户端吗?就安全性而言,这样做有什么缺点?
    • @frank-van-puffelen 由于目前已弃用数据库机密,我想使用 REST API 时可用的唯一选项是:创建自己的令牌或使用服务帐户从 OAuth2.0 请求它们。
    猜你喜欢
    • 2016-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-21
    • 2019-07-13
    • 2013-07-11
    • 1970-01-01
    • 2020-10-19
    相关资源
    最近更新 更多