Identity Server应该处理哪种权限?

时间:2017-10-02 02:28:18

标签: security oauth wso2is openid-connect

我们目前有一个REST Web服务,其权限取决于角色和用户是谁(如果用户是学生,管理员或某个实体的作者)。这种许可是在控制器内检查。我们正在考虑使用身份服务器,例如WSO2 IS。

如果我们使用IS,我们是否应该将现有权限检查迁移到IS?如果是这样,我目前理解的是它会增加开销,因为IS将验证每个请求。启发我

1 个答案:

答案 0 :(得分:1)

最初目标OAuth2是权限委派 - 用户允许应用程序访问他/她的资源或代表用户执行操作。 OpenID Connec(OAuth2扩展)用于用户身份验证。

您有两种权限 - 绑定到资源(实体)的角色和权限。您可能无法在OAuth2服务器上检查对资源的访问(例如,用户是否是实体的作者),因为它不知道它。您可以将角色转换为单个操作(范围),并检查用户的访问令牌是否包含所需的范围。但您必须在用户身份验证上询问应用程序的所有可能范围。即使不访问服务器,也可以验证某些形式的访问令牌和范围(JWT)。

您还可以仅使用OAuth2服务器进行身份验证,获取用户组列表,并根据用户角色和资源所有权保留现有访问控制。它会使过渡变得容易,以后,如果你发现你需要更多的东西,就不会浪费精力。