使用带有 Stripe Firebase Extension 的 运行 付款时,Stripe 产品元数据未返回到 Firebase 的经过身份验证的用户实例

Stripe Product metadata not returning to Firebase's authenticated user instance when using Run Payments with Stripe Firebase Extension

我正在使用 Run Payments with Stripe Firebase Extension

我在以下 Stripe 产品中设置了一个元数据字段:userRole: premium

Users 下的 Firestore 中的 Webhook returns userRole: premium >> subscriptions >> metadata.userRole.

但我希望 webhook 将 userRole 附加到 Firebase 的 auth.currentUser 实例。我打算使用下面的函数查询。

如何将 Webhook return 此元数据设为 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;
}

我已将元数据名称更改为 userRole

必须 firebaseRole 才能为用户分配自定义声明角色,以便在订阅特定产品时授予他们访问特定数据的权限。