如何解决在服务器端将 firebase oobCode 解码给用户
查看流程:
用户:(网络应用)
服务器:
用户:(网络应用)
- 点击链接 -> www.example.com?oobCode=XYZ
- 客户端 SDK 验证的令牌尚未过期:
firebase.auth().verifyPasswordResetCode("XYZ");
- 如果有效,将 oobCode 和新密码发送回服务器
现在出现问题的地方
我已将新密码和 oobCode 发送回服务器,以下是所需的功能
我看不到任何方法可以在后端对其进行解码以验证用户我如何从后端的此代码中获取用户?似乎我们可以生成但不能解码
解决方法
尝试运行此代码以验证密码重置的 oobCode:
const passResetUrl = `https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=${firebaseWebApiKey}`
return fetch(passResetUrl,{ method: 'POST',body: JSON.stringify({ "oobCode": oobCode,newPassword: "newpass" }),headers: { "Content-Type": "application/json" } }).then(async (res) => {
const resJson = await res.json()
//const email = resJson.email
console.log(resJson)
return "ok"
}).catch((errVerifyingCode) => {
console.log(errVerifyingCode)
return "error"
})
firebaseWebApiKey 可以在您的网络应用的 Firebase 配置中找到。
如果通过解码您的意思是获取用户身份验证对象,那么我认为这是不可能的。考虑在生成的 url 中添加某种查询参数,以帮助您的服务器识别用户。
如果您在服务器上验证 oob 代码而不是使用如上所示的 Firebase Client SDK,您将收到用户的电子邮件回复。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。