使用带有条纹 Firebase 扩展的运行付款时,条纹产品元数据未返回到 Firebase 的经过身份验证的用户实例
Posted
技术标签:
【中文标题】使用带有条纹 Firebase 扩展的运行付款时,条纹产品元数据未返回到 Firebase 的经过身份验证的用户实例【英文标题】:Stripe Product metadata not returning to Firebase's authenticated user instance when using Run Payments with Stripe Firebase Extension 【发布时间】:2021-12-31 02:51:37 【问题描述】:我正在使用Run Payments with Stripe Firebase Extension。
我在 Stripe Product 中设置了一个元数据字段:userRole: premium
。
Webhook 在 Firestore 中的 Users
>> subscriptions
>> metadata.userRole
下返回 userRole: premium
。
但我希望 webhook 将 userRole
附加到 Firebase 的 auth.currentUser
实例。我打算使用下面的函数查询。
如何让 webhook 将此元数据返回给 auth.currentUser
?
import auth from '../src/utils/init-firebase';
export default async function isUserPremium()
await auth.currentUser?.getIdToken(true);
const decodedToken = await auth.currentUser?.getIdTokenResult();
console.log(decodedToken);
return decodedToken?.claims?.userRole ? true : false;
// return decodedToken?.claims?.stripeRole ? true : false;
【问题讨论】:
【参考方案1】:我已将元数据名称更改为 userRole
。
必须是firebaseRole
,用户才能获得自定义声明角色,以便在订阅特定产品时允许他们访问某些数据。
【讨论】:
以上是关于使用带有条纹 Firebase 扩展的运行付款时,条纹产品元数据未返回到 Firebase 的经过身份验证的用户实例的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 扩展:使用 Stripe 运行订阅付款不会返回 sessionId
使用 Stripe Firebase 扩展 Webhook 运行订阅付款未触发