网站开发人员工具种类厦门外贸网站建

web/2025/10/2 18:56:07/文章来源:
网站开发人员工具种类,厦门外贸网站建,wordpress站点版权设置,php网站整合discuz上篇文章我介绍了如何强制令牌过期的实现#xff0c;相信大家对IdentityServer4的验证流程有了更深的了解#xff0c;本篇我将介绍如何使用自定义的授权方式集成老的业务系统验证#xff0c;然后根据不同的客户端使用不同的认证方式来集成到统一认证平台。.netcore项目实战交… 上篇文章我介绍了如何强制令牌过期的实现相信大家对IdentityServer4的验证流程有了更深的了解本篇我将介绍如何使用自定义的授权方式集成老的业务系统验证然后根据不同的客户端使用不同的认证方式来集成到统一认证平台。.netcore项目实战交流群637326624有兴趣的朋友可以在群里交流讨论。一、自定授权源码剖析当我们需要使用开源项目的某些功能时最好了解实现的原理才能正确和熟练使用功能避免出现各种未知bug问题和出现问题无法解决的被动场面。在使用此功能前我们需要了解完整的实现流程下面我将从源码开始讲解IdentityServer4是如何实现自定义的授权方式。从我之前的文章中我们知道授权方式是通过Grant_Type的值来判断的所以我们自定义的授权方式也是通过此值来区分所以需要了解自定义的值处理流程。TokenRequestValidator是请求验证的方法除了常规验证外还增加了自定义的验证方式。从上面代码可以看出除了内置的授权方式其他的都是用ValidateExtensionGrantRequestAsync来进行验证详细的验证规则继续分析实现过程。从代码中可以看出实现流程如下1、客户端是否配置了自定义的授权方式。2、是否注入了自定义的授权实现。3、授权的scope客户端是否有权限。4、使用自定义的授权验证方式校验请求数据是否合法。5、判断是否有有效数据信息可自行实现接口。从源码中可以发现流程已经非常清晰了核心类ExtensionGrantValidator实现了自定义授权的校验过程进一步分析下此类的代码实现。从上面代码可以发现自定义授权方式只需要实现IExtensionGrantValidator接口即可然后支持多个自定义授权方式的共同使用。到此整个验证过程解析完毕了然后再查看下生成Token流程实现方法为TokenResponseGenerator这个方法并不陌生前几篇介绍不同的授权方式都介绍了所以直接看实现代码。实现的代码方式和客户端模式及密码模式一样这里就不多介绍了。最后我们查看下是如何注入IExtensionGrantValidator是否对外提供接入方式发现IdentityServer4提供了AddExtensionGrantValidator扩展方法我们自己实现自定义授权后添加即可详细实现代码如下。二、自定义授权实现现在开始开发第一个自定义授权方式GrantType定义为CzarCustomUser然后实现IExtensionGrantValidator接口为了演示方便我新建一个测试用户表用来模拟老系统的登录方式。然后把实现验证的方法,由于代码太简单我就直接贴代码如下。现在可以定义自定义的授权类型了我起名为CzarCustomUserGrantValidator实现代码如下。这就实现了自定义授权的功能是不是很简单呢然后添加此扩展方法。现在是不是就可以使用自定义授权的方式了呢打开PostMan测试按照源码解析和设计参数测试信息如下发现报错原来是还未配置好客户端访问权限开启权限测试如下。三、客户端权限配置在使用IdentityServer4时我们一定要理解整个验证流程。根据这次配置我再梳理下流程如下1、校验客户端client_id和Client_Secret。2、校验客户端是否有当前的授权方式。3、校验是否有请求scope权限。4、如果非客户端验证校验账号密码或自定义规则是否正确。5、非客户端验证校验授权信息是否有效。通过此流程会发现我们缺少授权方式配置所以请求时提示上面的提示既然知道原因了那就很简单的来实现添加客户端自定义授权模式。此信息是在ClientGrantTypes表中字段为客户端ID和授权方式。我测试的客户端ID为21授权方式为CzarCustomUser那直接使用SQL语句插入关系然后再测试。INSERT INTO ClientGrantTypes VALUES(21,CzarCustomUser);发现可以获取到预期结果然后查看access_token是什么内容显示如下。显示的信息和我们定义的信息相同而且可以通过amr来区分授权类型不同的业务系统使用不同的认证方式然后统一集成到认证平台即可。四、总结与思考本篇我介绍了自定义授权方式从源码解析到最后的实现详细讲解了实现原理并使用测试的用户来实现自定义的认证流程本篇涉及的知识点不多但是非常重要因为我们在使用统一身份认证时经常会遇到多种认证方式的结合和多套不同应用用户的使用在掌握了授权原理后就能在不同的授权方式中切换的游刃有余。思考下有了这些知识后关于短信验证码登录和扫码登录是不是有心理有底了呢如果自己实现这类登录应该都知道从哪里下手了吧。下篇我将介绍常用登录的短信验证码授权方式尽情期待吧。相关文章AspNetCore中使用Ocelot之 IdentityServer4Ocelot-基于.NET Core的开源网关实现.NET Core微服务之基于OcelotIdentityServer实现统一验证与授权Swagger如何访问Ocelot中带权限验证的APIOcelot.JwtAuthorize一个基于网关的Jwt验证包.NET Core微服务之基于Ocelot实现API网关服务.NET Core微服务之基于Ocelot实现API网关服务续.NET微服务体系结构中为什么使用Ocelot实现API网关Ocelot简易教程一之Ocelot是什么Ocelot简易教程二之快速开始1Ocelot简易教程二之快速开始2Ocelot简易教程三之主要特性及路由详解Ocelot简易教程四之请求聚合以及服务发现Ocelot简易教程五之集成IdentityServer认证以及授权Ocelot简易教程六之重写配置文件存储方式并优化响应数据Ocelot简易教程七之配置文件数据库存储插件源码解析ASP.NET Core中Ocelot的使用API网关的应用ASP.NET Core中Ocelot的使用基于Spring Cloud Netflix Eureka的动态路由ASP.NET Core中Ocelot的使用基于服务发现的负载均衡【.NET Core项目实战-统一认证平台】第一章 功能及架构分析定制Ocelot来满足需求【.NET Core项目实战-统一认证平台】第三章 网关篇-数据库存储配置1【.NET Core项目实战-统一认证平台】第四章 网关篇-数据库存储配置2【.NET Core项目实战-统一认证平台】第五章 网关篇-自定义缓存Redis【.NET Core项目实战-统一认证平台】第六章 网关篇-自定义客户端授权【.NET Core项目实战-统一认证平台】第七章 网关篇-自定义客户端限流【.NET Core项目实战-统一认证平台】第八章 授权篇-IdentityServer4源码分析【.NET Core项目实战-统一认证平台】第九章 授权篇-使用Dapper持久化IdentityServer4【.NET Core项目实战-统一认证平台】第十章 授权篇-客户端授权【.NET Core项目实战-统一认证平台】第十一章 授权篇-密码授权模式【.NET Core项目实战-统一认证平台】第十二章 授权篇-深入理解JWT生成及验证流程【.NET Core项目实战-统一认证平台】第十三章 授权篇-如何强制有效令牌过期原文地址: https://www.cnblogs.com/jackcao/p/10330397.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/85769.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

外贸网站域名被封商标设计用什么软件

目录 1.HTTP 1.1HTTP是什么 1.2理解“应用层协议” 1.3理解HTTP协议的工作过程 2.HTTP协议格式 2.1抓包工具的使用 2.2抓包工具的原理 2.3抓包结果 3.协议格式总结 1.HTTP 1.1HTTP是什么 HTTP(全称为“超文本传输协议”)是一种应用非常广泛的应…

如何建设网站网站东莞网站建设dgjcwl

RabbitMQ 是一个开源的消息队列系统,是高级消息队列协议(AMQP)的标准实现,用 erlang 语言开发。 因此安装 RabbitMQ 之前要先安装好 erlang。 1、安装 erlang 到 这里 下载本机能运行的最新版 erlang 安装包。如果本机没有装过 …

北京网站制作公司建站万能网页视频下载

【Python练习题 005】输入三个整数x,y,z,请把这三个数由小到大输出。 ----------------------------------------------------------------------- 这题想想应该比较容易:无非是先获取3个数字,然后比大小,按顺序输出即可。不过在写…

企业网站服务器建设方法上海站群优化

1. 转帖别人的内容 来源:https://www.2cto.com/net/201112/114937.html 2. 本地用IPV6单播地址 (包括链路本地单播地址 和 站点本地单播地址) 2.1 链路本地单播地址 规定了链路本地和站点本地两种类型的本地使用单播地址。链路本地地址用在单链路上, 而…

安徽经工建设集团网站合肥网站优化软件

目录 一、安装Nacos 二、启动nacos 三、进入可视化界面 因项目用到nacos,所以需要装一个,顺便写篇文章记录 一、安装Nacos 前往官网下载:Nacos官网homehttps://nacos.io/zh-cn/ # 解压 unzip nacos-server-2.3.0.zip 二、启动nacos …

网站你懂我意思正能量appWordPress无法取消置顶文章

同学你好!本文章于2021年末编写,获得广泛的好评! 故在2022年末对本系列进行填充与更新,欢迎大家订阅最新的专栏,获取基于Pytorch1.10版本的理论代码(2023版)实现, Pytorch深度学习理论篇(2023版)目录地址…

长春企业免费建站360地图怎么添加商户

2019独角兽企业重金招聘Python工程师标准>>> 开始写博客,自己是边学习边做开发,将自己开发的过程记录下来,能够对学习的知识进行梳理,也可以对学习做个总结。 首先是对项目的介绍: 做一个功能全面的软件&am…

兰州企业网站建设做最好最全的命理网站

2019独角兽企业重金招聘Python工程师标准>>> MySQL并不是跳过offset行,而是取offsetN行,然后返回放弃前offset行,返回N行,那当offset 特别大的时候,效率就非常的低下,要么控制返回的总页数&…

苏州营销网站建设公司排名开发h5网站开发

base64原理及其编解码的python实现base64base64简介base64编码表base64编码原理base64编解码的python实现其他base编码base16base32base36、base58、 base62、 base85、base91、 base92base64 base64简介 base64是一种基于64个可打印字符来表示二进制数据的表示方法。2664&am…

做网站最好用的软件系统开发和网站开发

一、概述 布隆过滤器本质上是一个很长的二进制数组,主要用来判断一个数据存不存在数组里,如果存在就用1表示,不存在用0表示,它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。 …

广州网站外贸推广青岛网站优化多少钱

简单工厂模式 可以根据参数的不同返回不同类的实例 参考: CSDN|简单工厂模式 简单工厂通过传给工厂类的参数的不同,返回不同的对象,包括三部分组成: 具体的”产品“工厂类(实例化并返回”产品“)客户端&am…

怎么在京东做网站网站建设相关新闻

事务简介 事务(transaction)是传统数据库所具备的一项基本能力,其根本目的是为数据的可靠性与一致性提供保障。而在通常的实现中,事务包含了一个系列的数据库读写操作,这些操作要么全部完成,要么全部撤销。…

湖北省建设招投标监督机构网站中国半导体设备

该错误提示表示您的 OpenSSL 版本过低,无法兼容 urllib3 v2.0。 解决此问题的方法是升级您的 OpenSSL 版本至 1.1.1 或以上。具体操作如下: 方法一: 检查您的 OpenSSL 版本,使用以下命令: openssl version 如果您的…

郑州做网站和域名云南7省建设厅网站

2.6内核以后,多数驱动都是以平台总线的方式编写,因此对于这种类型的驱动,实际就是要分成两个流程来分析 平台总线设备的构造,平台总线驱动的构造。 下面先分析平台总线设备的构造,平台总线设备里是硬件相关的信息&am…

高校网站建设需求分析报告购物网站模板 php

重构:改善既有代码的设计(评注版) 评注者序评注者序近十年来,若要讨论如何改进代码的质量,很难绕过Martin Fowler的这本经典著作。这本书已经影响了几代程序员,或许会持续不断地影响未来的一批程序员。遗憾…

企业网站建设费用预算微信软文范例100字

1.前提 主要功能切换host 2.下载路径 https://oldj.github.io/SwitchHosts/ 3.使用略(太简单)转载于:https://www.cnblogs.com/totoro-cat/p/9987101.html

有做二手厨房设备的网站吗wordpress默认页面设置方法

什么是wttr? 使用Python预测天气的第一步,我们要了解wttr是什么。wttr.in是一个面向控制台的天气预报服务,它支持各种信息表示方法,如面向终端的ANSI序列(用于控制台HTTP客户端(curl、httpie或wget))、HTML(用于web浏览器)或PNG(…

协会网站建设公司建网站流程

【运维工程师学习三】shell编程 Shell程序分类1、系统中sh命令是bash的软链接2、Shell脚本标准格式之文件后缀3、Shell脚本标准格式之文件内容首行4、Shell脚本的运行方法一、作为可执行程序解释 二、作为解释器(bash)参数 5、find、grep、xargs、sort、…

电子商务网站功能模块如何申请一个网站

A Simple Interconnection Network 一个简单的互连网络 2.1 网络规范和约束2.2 拓扑2.3 路由2.4 流量控制2.5 路由器设计性能分析 A Simple Interconnection Network 一个简单的互连网络 我们将研究简单互连网络的架构和设计,以提供全局视图。我们将研究最简单的…

盐城网站优化价格游戏工作室加盟

大家好,如果您在并发Java应用程序中工作,那么您可能听说过java.util.concurrent包的Exchanger类。 Java中的Exchanger是Java 1.5中与CountDownLatch , CyclicBarrier和Semaphores一起引入的另一个并发或同步实用程序。 顾名思义, …