AspNetCore 中使用 InentityServer4(2)
基于上一篇文章 实现对IdnetityServer4 服务的使用
1:添加接口解决方案,并且使接口受认证服务的保护:
首先在解决方案中添加Api项目如下图所示:

在API项目中添加Nuget 引用 如下图所示:
Install-Package IdentityServer4.AccessTokenValidation -Version 2.6.0

添加此包的作用是,在API中添加验证服务,使Api 受验证服务的保护,如果消费者在调用此受保护的接口的时候,传入的令牌没有通过验证将不允许进行访问
在Startup 中添加身份认证服务如下图所示:

以上有关验证服务我们就配置好了,但是如果我们现在进行项目启动并且调用其中的方法时会发现和平常并没有什么区别:如图演示

是因为我们只是进行了配置并没有进行使用:使用如下:
引用:using Microsoft.AspNetCore.Authorization 这是AspNetCore的认证命命空间
我们在Api 方法Get()上进行使用如下 注意在Get(int Id)方法上我们并没有进行使用项目启动后我们尝试调用结果如下:

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

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

如果说我们想让整个控制器中的所有方法都使用,在控制器上方进行使用就行:如下图

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

密钥是用客户端代码请求来的,上面的演示结果都是使用Postman 进行调用演示:演示一下客户端使用
2:添加客户端解决方案,并请求密钥完成调用:
以控制台进行演示一下:
新建控制台:并且引用IdentityModel包 如下图所示:

因为IdentityModel客户端只提供了异步等待请求的方式去请求认证服务器,所以 我们首先更改一下控制台的属性步骤如下
点击打开控制台属性 —》点开 高级 如图

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

环境好了之后下面我们请求一下,认证服务,并且演示模拟调用接口操作,代码如下:

结果如图:

有不足之处 希望大家指出相互学习,
本文原创:转载请注明出处 谢谢!
AspNetCore 中使用 InentityServer4(2)的更多相关文章
- AspNetCore中使用Ocelot之 IdentityServer4(1)
AspNetCore中使用Ocelot之 IdentityServer4(1) 前言: OceLot网关是基于AspNetCore 产生的可扩展的高性能的企业级Api网关,目前已经基于2.0 升级版本 ...
- 在AspNetCore 中 使用Redis实现分布式缓存
AspNetCore 使用Redis实现分布式缓存 上一篇讲到了,Core的内置缓存:IMemoryCache,以及缓存的基础概念.本篇会进行一些概念上的补充. 本篇我们记录的内容是怎么在Core中使 ...
- 在ASPNETCORE中获得所有Action
在ASPNETCORE中获得所有Action 本文旨在记录自己在aspnetcore工作中需要获取所有Action,在查询了资料后进行了几种方法的记录.后期有发现其它方式再进行追加. 一.通过 反射 ...
- 【转载】在AspNetCore 中 使用Redis实现分布式缓存
原文地址:https://www.cnblogs.com/szlblog/p/9045209.html AspNetCore 使用Redis实现分布式缓存 上一篇讲到了,Core的内置缓存:IMemo ...
- 在AspNetCore中扩展Log系列 - 介绍开源类库的使用(一)
转发时请注明原创作者及地址,否则追究责任. 原创:alunchen 当创建AspNetCore项目时 当我们创建一个AspNetCore项目时,需要我们手动添加Log: services.AddLog ...
- 如何使用T-SQL备份还原数据库及c#如何调用执行? C#中索引器的作用和实现。 jquery控制元素的隐藏和显示的几种方法。 localStorage、sessionStorage用法总结 在AspNetCore中扩展Log系列 - 介绍开源类库的使用(一) span<T>之高性能字符串操作实测
如何使用T-SQL备份还原数据库及c#如何调用执行? 准备材料:Microsoft SQL Server一部.需要还原的bak文件一只 一.备份 数据库备份语句:user master backup ...
- 在AspNetCore中使用极验做行为认证
先上效果图 极验的流程 极验官方文档地址 https://docs.geetest.com/install/deploy/server/csharp 简单说明一下极验的验证流程 引用官方的图片 向服务 ...
- AspNetCore中的IdentityServer4客户端认证模式实现
1 AuthorizationServer using IdentityServer4; using IdentityServer4.Models; public class Startup { pu ...
- 在AspNetCore 中 使用Redis实现分布式缓存 (转载)
文章概念描述 分布式缓存描述:分布式缓存重点是在分布式上,相信大家接触过的分布式有很多中,像分布式开发,分布式部署,分布式锁.事物.系统 等有很多.使我们对分布式本身就有一个很明确的认识,分布式就是有 ...
随机推荐
- ApplicationHost.config(IIS存储配置区文件)
对于一个刚刚创建网站,以ASP.NET MVC5为例. 我们并没有在网页的配置文件(web.config)中配置一些处理程序或模块,如处理Session的SessionStateModule模块,映射 ...
- Spring Cloud Feign的文件上传实现
在Spring Cloud封装的Feign中并不直接支持传文件,但可以通过引入Feign的扩展包来实现,本来就来具体说说如何实现. 原文:http://blog.didispace.com/sprin ...
- shell的嵌入命令大全
围绕以下几点展开学习: 1.什么是shell的嵌入命令? 2.为什么使用shell? 3.怎样使用shell嵌入命令? 1.什么是shell的嵌入命令: ♦这些命令是在实际的Bourne shell里 ...
- numpy C语言源代码调试(二)
前一篇已经介绍,可以使用gdb进行调试,但是本人不太习惯gdb的文本界面,所以希望找一个比较好用的gdb的前端gui调试器. 想到的第一个是一个非常老的调试工具,DDD. DDD - Data Dis ...
- 图解:HTTP 范围请求,助力断点续传、多线程下载的核心原理
题图:by Charles Loyer 一.序 Hi,大家好,我是承香墨影! HTTP 协议在网络知识中占据了重要的地位,HTTP 协议最基础的就是请求和响应的报文,而报文又是由报文头(Header) ...
- Java学习路线图分析
Java学习路线分析图 第一阶段 技术名称 技术内容 J2SE(java基础部分) java开发前奏 计算机基本原理,Java语言发展简史以及开发环境的搭建,体验Java程序的开发,环境变量的设置, ...
- Typora程序员的记事本.Typora常用快捷操作
Typora常用快捷操作 1.文本格式快捷编写 1.1.文本段落编写 a)#→宫格建→加输入内容→回车键,其中#表示标题一,##表示标题二以此类推至######为止 b)或者选中要修改文本的文本格式按 ...
- 底部导航栏-----FragmentTabHost
[说明] 1.主界面上添加父容器:FragmentTabHost 属于v4兼容包 需要指定该id为android:id/tabhost,不能修改,表示由android系统来托管这个id. 本身是一个F ...
- Windows -- cmd命令: netstat 和 arp
1. netstat: 显示网络连接.路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作. 命令格式及参数如下: 2. ARP: 可用于查询本机ARP缓存中IP地址和MAC地址的对应关系.添加 ...
- OKR能解决996吗?德鲁克怎么看?
最近网络上热议的“996”,不由让人想起我们的邻国日本.他们在20年前就有过一个热词“过劳死”,就是职场加班太严重导致的猝死. 最近有一本书新书<过劳时代>,说的就是日本20年前的过劳死. ...