Auth0订阅计划app_metadata

时间:2018-02-03 12:03:54

标签: node.js express authentication auth0 loopback

我正在开发一个测验应用程序,该应用程序需要授权,只有订阅的成员才能看到。

怎么做?我想将订阅成员的元数据(is_subscribed)设置为true,并给出范围以便他/她可以获得权限。

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

1 个答案:

答案 0 :(得分:0)

这里有两个不同的问题。

  • 保留订阅信息的位置。 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中,则只需从上述代码中的规则访问数据库。

相关问题