Auth0 订阅计划 app_metadata

Auth0 subscription plan app_metadata

我正在开发一个问答应用程序,需要授权只有订阅会员才能看到。

怎么做?我正在考虑将订阅成员的元数据 (is_subscribed) 设置为 true 并提供范围,以便 he/she 可以获得权限。

但是,我不知道该怎么做。请帮忙。文档太混乱了

这里有两个不同的问题。

  • 保存订阅信息的位置。 app_metadata 很好,或者您可以选择在后端数据库(特定于应用程序)中这样做。客户端应用程序可能会处理订阅并负责更新该值。如果将值存储在 app_metadata 中,您将使用 Management API v2 从处理订阅的应用程序更改用户配置文件。

  • 根据订阅状态添加授权范围。在这种情况下,您将 use a rule to add a custom scope 基于 is_subscribed 字段的值。即:

function(user, context, callback) {
  if (user.app_metadata && user.app_metadata.is_subscribed) {
    context.accessToken.scope = ['read:quiz'];
  } else {
    // remove the ability to read a quiz if not subscribed.
    context.accessToken.scope = [];
  }
  callback(null, user, context);
}

如果您决定将订阅信息存储在后端数据库中而不是 app_metadata,您只需从上述代码中的规则访问数据库即可。