我正在使用Identity Server 4从单个应用程序页面对用户进行身份验证。为了项目的需要,我必须使用资源所有者密码流。
Identity Server和我的应用程序一起工作良好。 Identity Server提供访问令牌,我可以使用此令牌访问我们拥有的某些API。 但是,我在问自己关于访问令牌,用户和社会。现在我的设置是这个。在资源所有者密码流中,用户是否可以处理范围?
- 我有一个需要范围API-1的API。
- 我有一个客户端(我的SPA),我定义范围API-1
- 而且我有一个用户。
在此配置中,客户拥有访问API的权限,而不是用户。我想知道如何将这个范围提供给用户,而不再是客户。
很愚蠢,我想知道如果用户可以拥有范围,而不是客户端。也许我错过了或误解了一些东西,所以请教我。
因此,我可以向我的用户添加一些代表API的范围。感谢你的回答 ! – Waldo
您不会将范围添加到用户,您向用户添加声明,范围仍然与您的客户端。在您的API中,您可以访问这些用户声明,甚至可以将它们作为Authorization的一部分使用,如果您想这样做,可以通过将策略添加到控制器或操作的Authorize属性来完成。有关基于asp.net核心的权利声明的更多信息(包括示例),请参见https://docs.microsoft.com/zh-cn/aspnet/core/security/authorization/claims –