AspNetCore 中使用 InentityServer4(2)

基于上一篇文章 实现对IdnetityServer4 服务的使用服务器

1:添加接口解决方案,而且使接口受认证服务的保护:

首先在解决方案中添加Api项目以下图所示:异步

在API项目中添加Nuget 引用 以下图所示:学习

Install-Package IdentityServer4.AccessTokenValidation -Version 2.6.0spa

添加此包的做用是,在API中添加验证服务,使Api 受验证服务的保护,若是消费者在调用此受保护的接口的时候,传入的令牌没有经过验证将不容许进行访问blog

在Startup 中添加身份认证服务以下图所示:接口

以上有关验证服务咱们就配置好了,可是若是咱们如今进行项目启动而且调用其中的方法时会发现和日常并无什么区别:如图演示get

是由于咱们只是进行了配置并无进行使用:使用以下:it

引用:using Microsoft.AspNetCore.Authorization 这是AspNetCore的认证命命空间io

咱们在Api 方法Get()上进行使用以下 注意在Get(int Id)方法上咱们并无进行使用项目启动后咱们尝试调用结果以下:配置

 

这是未使用验证的方法Get(int Id):调用成功

下面是使用验证的方法:调用失败未受权

 

若是说咱们想让整个控制器中的全部方法都使用,在控制器上方进行使用就行:以下图

 上面的演示结果都是失败的,下面咱们加上密钥去访问一下:结果以下图所示

密钥是用客户端代码请求来的,上面的演示结果都是使用Postman 进行调用演示:演示一下客户端使用

2:添加客户端解决方案,并请求密钥完成调用:

以控制台进行演示一下:

新建控制台:而且引用IdentityModel包 以下图所示:

由于IdentityModel客户端只提供了异步等待请求的方式去请求认证服务器,因此 咱们首先更改一下控制台的属性步骤以下

点击打开控制台属性 —》点开 高级 如图

修改高级语言版本为7.1以上, 如图:注意: 7.1以上才支持 控制台入口方法 Main 支持异步等待操做

环境好了以后下面咱们请求一下,认证服务,而且演示模拟调用接口操做,代码以下:

 结果如图:

 

 

 有不足之处 但愿你们指出相互学习,

                                  本文原创:转载请注明出处 谢谢!

相关文章
相关标签/搜索