2017-06-23 94 views
0

就像条纹帐户一样,用户(人)有权访问1个或多个帐户(企业帐户)。IdentityServer4:您如何检查访问令牌是否具有给定访问令牌的权限?

  • 用户Alice有完整的读取和企业X写入权限,Y,Z
  • 用户Bob已经阅读只能访问企业X。

账户access_token_b的Bob想要通过API更新账户资料。

使用IdentityServer4,您如何验证bob的帐户access_token_b是否有权通过API控制器更新帐户配置文件?

回答

0

您需要使用自己的API来管理帐户。 Identity Server(开放标识连接)API并不意味着修改(管理)帐户。他们只是处理拼图的认证部分。您应该使用aspnet标识库来存储和修改用户。还有一些工具,如IdentityManager,其中包含用于用户管理的UI。

因此,在创建帐户管理API(或使用IdentityManager之类的工具)后,您需要验证传入的访问令牌,然后检查令牌内的声明以查看令牌所有者授予的权限。基于此,您需要授权用户只修改他有权访问的帐户。然后使用用户管理库(大多数情况下是asp.net标识)来更新帐户。