Identity Server 应该处理什么样的权限?
What kind of permissions should an Identity Server handle?
我们目前有一个 REST 网络服务,其权限取决于角色和用户是谁(如果用户是学生、管理员或某个实体的作者)。这种权限在控制器中进行检查。我们正在考虑使用身份服务器,例如 WSO2 IS。
如果我们使用 IS,我们是否应该将现有的权限检查迁移到 IS?如果是这样,我目前的理解是它会增加开销,因为 IS 将验证每个请求。开导我
OAuth2 的最初目标是权限委托 - 用户允许应用程序访问 his/hers 资源或代表用户执行操作。 OpenID Connect(OAuth2 扩展)用于用户身份验证。
您有两种权限 - 角色和绑定到资源(实体)的权限。您可能无法在 OAuth2 服务器上检查对资源的访问(例如,用户是否是实体的作者),因为它不知道这一点。您可以将角色转换为单独的操作(范围)并检查用户的访问令牌是否包含所需的范围。但是您必须询问您的应用程序在用户身份验证方面的所有可能范围。即使不访问服务器也可以验证某些形式的访问令牌和范围 (JWT)。
您也可以仅使用 OAuth2 服务器进行身份验证,获取用户组列表并保留基于用户角色和资源所有权的现有访问控制。这将使过渡变得容易,以后如果你发现你需要更多的东西,就不会白费力气。
我们目前有一个 REST 网络服务,其权限取决于角色和用户是谁(如果用户是学生、管理员或某个实体的作者)。这种权限在控制器中进行检查。我们正在考虑使用身份服务器,例如 WSO2 IS。
如果我们使用 IS,我们是否应该将现有的权限检查迁移到 IS?如果是这样,我目前的理解是它会增加开销,因为 IS 将验证每个请求。开导我
OAuth2 的最初目标是权限委托 - 用户允许应用程序访问 his/hers 资源或代表用户执行操作。 OpenID Connect(OAuth2 扩展)用于用户身份验证。
您有两种权限 - 角色和绑定到资源(实体)的权限。您可能无法在 OAuth2 服务器上检查对资源的访问(例如,用户是否是实体的作者),因为它不知道这一点。您可以将角色转换为单独的操作(范围)并检查用户的访问令牌是否包含所需的范围。但是您必须询问您的应用程序在用户身份验证方面的所有可能范围。即使不访问服务器也可以验证某些形式的访问令牌和范围 (JWT)。
您也可以仅使用 OAuth2 服务器进行身份验证,获取用户组列表并保留基于用户角色和资源所有权的现有访问控制。这将使过渡变得容易,以后如果你发现你需要更多的东西,就不会白费力气。