前言
这篇文章是紧接着 Identity Server 4 教程: Part 3 添加ASP.NET Core交互应用程序 的Identity Server 4系列文章的第四部分。这里涉及到的一些代码,是在前几篇文章的基础之上进行了修改。
我们可以通过IdentityServer4 repository找到官方示例源码,也可以访问我的 github repository来获取我在学习过程中的实践代码。
在前面的文章中,我们探索了用户身份验证和API访问控制。现在我们将把这两部分结合起来。
组合使用OpenID Connect和OAuth 2.0的好处在于,我们可以只使用一种协议并且只访问一次令牌(token)服务器,来同时实现用户身份验证和API访问控制。
到目前为止,我们仅在令牌请求期间要求提供身份资源,当我们还要求提供API资源的时候,IdentityServer将返回两个令牌:包含有关身份验证和会话信息的身份令牌,以及代表登录用户访问API的访问令牌。
修改客户端配置
在IdentityServer中更新客户端配置非常简单,我们只需要将api1
资源添加到允许的作用域列表中即可。此外,我们还通过AllowOfflineAccess<