Firebase仅在成功付款后注册用户
我正在尝试实现以下流程:Firebase仅在成功付款后注册用户,firebase,stripe-payments,Firebase,Stripe Payments,我正在尝试实现以下流程: 用户进入网站 用户单击“立即订阅” 用户被重定向到条带签出(因为这样更容易) 用户成功支付 用户现在可以登录(甚至更好-自动登录) 用户每月自动收费,更新数据库(控制访问) 长话短说:只有在用户付费时才允许用户访问 我正在使用Firebase,但似乎有很多障碍/难题: 我不能禁用注册(理想情况下只能通过订阅) 没有多大帮助,因为 在没有太多解释的情况下,它看起来有点吓人(特别是关于作为订阅模型基础的Webhook) 在使用Firebase时,我在网络上查看了所有关于
条带签出
(因为这样更容易)- 我不能禁用注册(理想情况下只能通过订阅)
- 没有多大帮助,因为
- 在没有太多解释的情况下,它看起来有点吓人(特别是关于作为订阅模型基础的Webhook)
当用户必须先注册然后付费(太多摩擦)时,我真的觉得它不是一个好的用户体验。使用云功能:
userRecord.uid
id进入doc()
id)
- 向用户发送电子邮件
- 将电子邮件和密码发送回客户端
使用云功能:
userRecord.uid
id进入doc()
id)
- 向用户发送电子邮件
- 将电子邮件和密码发送回客户端
两个问题:1。在后端创建客户?2.您打算向用户发送什么电子邮件?3.在多个API请求中使用密码四处走动是否安全。创建一个会话,然后使用客户id 2转到会话。在客户端,使电子邮件字段为必填字段,以便用户可以输入电子邮件3。如果电子邮件未经验证,您可以在后端使用“限制用户”操作来保护端点。我关于安全性的第3个问题更多的是关于凭据是否应该如此自由地传递。毕竟,它们是敏感数据,而定制声明则是另外一回事。也许发送代币会更好?为什么不在成功付款后创建客户呢?是的,那么在成功付款后,也许更重要的是()是更好的解决方案。在后端创建客户?2.您打算向用户发送什么电子邮件?3.在多个API请求中使用密码四处走动是否安全。创建一个会话,然后使用客户id 2转到会话。在客户端,使电子邮件字段为必填字段,以便用户可以输入电子邮件3。如果电子邮件未经验证,您可以在后端使用“限制用户”操作来保护端点。我关于安全性的第3个问题更多的是关于凭据是否应该如此自由地传递。毕竟,它们是敏感数据,而定制声明则是另外一回事。也许发送代币会更好?为什么不在成功付款后创建客户呢?是的,那么在成功付款后,()可能是更好的解决方案。
stripe.customers.create({ email: 'user_email' }) // grab customer id
firebaseAdmin.auth().createUser({
email: 'email',
password: 'temporary_password',
displayName: 'fullname'
})
.then((userRecord) => {
return firebaseAdminSDK.firestore()
.collection('users').doc(userRecord.uid)
.set({ stripe_account: 'cus_HILXPWljT9fKRA' })
})
firebase.auth().signInWithEmailAndPassword(data.email, data.password)