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实现分布式缓存 (转载)
文章概念描述 分布式缓存描述:分布式缓存重点是在分布式上,相信大家接触过的分布式有很多中,像分布式开发,分布式部署,分布式锁.事物.系统 等有很多.使我们对分布式本身就有一个很明确的认识,分布式就是有 ...
随机推荐
- 毕业样本=[威尔士大学毕业证书]UWIC原件一模一样证书
威尔士大学毕业证[微/Q:2544033233◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归&am ...
- FTRL(Follow The Regularized Leader)学习总结
摘要: 1.算法概述 2.算法要点与推导 3.算法特性及优缺点 4.注意事项 5.实现和具体例子 6.适用场合 内容: 1.算法概述 FTRL是一种适用于处理超大规模数据的,含大量稀疏特征的在线学习的 ...
- keras实现简单CNN人脸关键点检测
用keras实现人脸关键点检测 改良版:http://www.cnblogs.com/ansang/p/8583122.html 第一步:准备好需要的库 tensorflow 1.4.0 h5py ...
- tomcat部署服务乱码问题
first:win+R -->输入regedit 打开注册列表HKEY_CURRENT_USER-->Console-->Tomcat-->CodePage修改成十进制6500 ...
- 分析Class类和ClassLoader类下的同名方法getResourceAsStream
在读取本地资源的时候我们经常需要用到输入流,典型的场景就是使用Druid连接池时读取连接池的配置文件.Java为我们提供了读取资源的方法getResourceAsStream(),该方法有三种: Cl ...
- android双待手机获取每一张SIM卡的imei
/** * create a TelephonyInfo.java class */import java.lang.reflect.Method; import android.content.Co ...
- WinForm的DataGirdView判断CheckBox是否被选中
首先我们先设置下DataGirdView的列. 然后启动下编辑,就可以选中与不选中了.在之后通过. #region 便利被选中的行,然后导出 DataTable dtreport = new Data ...
- 【Android Studio安装部署系列】十七、Android studio引用第三方库、jar、so、arr文件
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 在Android开发过程,经常需要用到第三方库以及jar.so.arr文件,那么如何引用到项目中呢?下面简单介绍下. 引用第三方库 ...
- Android快速开发常用知识点系列目录
项目构建 Android项目目录结构模板以及简单说明[简单版] Android Studio配置统一管理依赖版本号引用 Android多Module下的Application引用方式 APP开篇 An ...
- java接口与抽象类
本片随笔讲讲java中接口与抽象类. 一,接口 1.什么是接口? 那在日常生活中接口是什么呢?就是两个对象之间进行连接的部分就是接口,就比如热水器与水管的接口一样,他可以确保不同的东西之间的顺利连接, ...