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实现分布式缓存 (转载)
文章概念描述 分布式缓存描述:分布式缓存重点是在分布式上,相信大家接触过的分布式有很多中,像分布式开发,分布式部署,分布式锁.事物.系统 等有很多.使我们对分布式本身就有一个很明确的认识,分布式就是有 ...
随机推荐
- 单机配置kafka和zookeeper
1:环境准备 jdk 推荐oracle,不建议open sdk 在/etc/profile加入下列环境变量 在PATH中将jdk和jre的bin加入path里面 $JAVA_HOME/bin:$JRE ...
- selenium 元素(class_name、link_text、css_selector)定位方法
通过元素的定位,使用firebug查找元素 1.示例一,class_name与link_text定位
- 浅析JavaScript解析赋值、浅拷贝和深拷贝的区别
文章首发于sau交流学习社区 一.赋值(Copy) 赋值是将某一数值或对象赋给某个变量的过程,分为: 1.基本数据类型:赋值,赋值之后两个变量互不影响 2.引用数据类型:赋**址**,两个变量具有相同 ...
- C#调用Python脚本打印pdf文件
介绍:通过pdf地址先将文件下载到本地,然后调用打印机打印,最后将下载的文件删除. 环境:windows系统.(windows64位) windows系统中安装python3.6.2环境 资料: O ...
- [AST实战]从零开始写一个wepy转VUE的工具
为什么需要 wepy 转 VUE "转转二手"是我司用 wepy 开发的功能与 APP 相似度非常高的小程序,实现了大量的功能性页面,而新业务 H5 项目在开发过程中有时也经常需要 ...
- c# 创建Excel com加载项图片对象批量操作
技术含量较低,主要是通过VBA代码转换成c#代码而来,从而实现图片批量插入.删除.另存为的批量操作,增加文档使用的通用性. 插件主要界面如下: 主要代码如下: private void button8 ...
- SpaceSyntax【空间句法】之DepthMapX学习:唠叨(目录)
最近花大力气学习了空间句法这一理论,以及其相关软件DepthMapX. 我觉得吧,你要是能搜索到这理论,这一软件名,这篇博客,那我甚至都不用介绍这软件是干什么用的——好吧,还是会说一下的. 虽然不知道 ...
- arcgis api 3.x for js 地图加载多个 SHP 图层压缩以及 json 文件展示(附源码下载)
前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...
- 一目了然呀的VS2017 Live Test
刚刚试用了一下VS2017中的单元测试,发现,这一次,覆盖测试会自动标记出来.不用像以前一样要他细检查了.这次会自动帮你全部标记出来. 新建单元测试,使用MS的单元测试方案(VSTS使用的时候方便.) ...
- 2019-01-29 VS Code创建自定义Python代码片段
续前文[日常]Beyond的歌里最多是"唏嘘"吗? - Python分词+词频最后的想法, 发现VS Code支持用户自定义代码片段: Creating your own snip ...