当前位置: 首页 > news >正文

怎么用微信官方网站做二维码wordpress 搜索插件

怎么用微信官方网站做二维码,wordpress 搜索插件,胖咯科技网站建设,手机如何登入网站服务器上篇文章介绍了如何使用Dapper持久化IdentityServer4#xff08;以下简称ids4#xff09;的信息#xff0c;并实现了sqlserver和mysql两种方式存储#xff0c;本篇将介绍如何使用ids4进行客户端授权。.netcore项目实战交流群#xff08;637326624#xff09;#xff0c;… 上篇文章介绍了如何使用Dapper持久化IdentityServer4以下简称ids4的信息并实现了sqlserver和mysql两种方式存储本篇将介绍如何使用ids4进行客户端授权。.netcore项目实战交流群637326624有兴趣的朋友可以在群里交流讨论。一、如何添加客户端授权在了解如何进行客户端授权时我们需要了解详细的授权流程在【.NET Core项目实战-统一认证平台】第八章 授权篇-IdentityServer4源码分析一篇中我大概介绍了客户端的授权方式,本篇再次回忆下客户端的授权方式老规则上源码。首先查看获取token的方式核心代码如下。我们需要详细分析下第一步客户端授权信息是如何验证的核心代码如下。这里几个方法可以从写的说明备注里就可以知道什么意思但是 var parsedSecret await _parser.ParseAsync(context);这句话可能不少人有疑问这段是做什么的如何实现不同的授权方式这块就需要继续理解Ids4的实现思路详细代码如下。就是从注入的默认实现里检测任何一个实现ISecretParser接口方法通过转到实现可以发现有PostBodySecretParser、JwtBearerClientAssertionSecretParser、BasicAuthenticationSecretParser三种方式然后再查看下注入方法看那些实现被默认注入了这样就清楚我们使用Ids4时支持哪几种客户端授权方式。从上面代码可以发现默认注入了两种分析器我们就可以通过这两个方式来做客户端的授权下面会分别演示两种授权方式的实现。BasicAuthenticationSecretParser由于代码比较简单就不介绍了这里直接模拟此种方式授权打开PostMan在Headers中增加Authorization的Key并设置Value为Basic YXBwY2xpZW50JTNBc2VjcmV0,其中Basic后为client_id:client_secret值使用Base64加密。然后请求后显示如图所示结果奈斯得到我们授权的结果。PostBodySecretParser此种认证方式就是从form_data提取client_id和client_secret信息我们使用PostMan继续模拟客户端授权测试结果如下也可以得到我们想要的结果。有了前面的两个授权方式我们清楚了首先验证客户端的授权信息是否一致再继续观察后续的执行流程这时会发现TokenRequestValidator中列出了客户端授权的其他信息验证详细定义代码如下。详细的授权验证代码如下校验客户端授权的一般规则。最终输出详细的校验结果数据现在整个客户端授权的完整逻辑已经介绍完毕那如何添加我们的自定义客户端授权呢比如我要给客户端A开放一个访问接口访问权限,下面就开通客户端A为案例讲解。开通客户端授权根据前面介绍的验证流程我们清楚首先需要增加客户端信息这里起名叫clienta,密码设置成secreta。上一篇我们介绍了Dapper持久化IdentityServer4的授权信息所以这里我就直接以SQL语句的方式来演示添加配置信息。详细的语句如下然后我们来测试下新开通的客户端授权如下图所示可以正常获取授权信息了另外一种Basic授权方式可自行测试。二、如何配合网关认证和授权前面使用的是项目自己进行验证的正式项目运行时我们会把请求放到网关中统一由网关进行认证和授权等操作内部api无需再次进行认证和授权那如何实现网关认证和授权呢我们可以回忆下之前介绍网关篇时认证篇章里面介绍的非常清楚。这里我们参照刚才添加的客户端A为案例增加网关授权因为我们对外暴露的是网关地址而不是内部具体认证项目地址。1、添加网关授权路由本项目的网关端口为7777所以网关授权的地址为http://localhost:7777/connect/token,由于为添加网关路由直接访问报401我们首先增加网关的路由信息。通过PostMan测试可以得到我们预期的授权信息结果。然后继续访问我们之前配置的授权路由提示401未授权这块就涉及到前面网关篇的知识了因为我们的网关增加了授权所以需要增加客户端授权才能访问。2、添加客户端授权访问还记得是如何添加客户端授权的吗详细介绍参考[【.NET Core项目实战-统一认证平台】第六章 网关篇-自定义客户端授权 我直接把授权的脚本编写如下--7、插入把客户端加入测试路由组2INSERT INTO AhphClientGroup  VALUES(21,2)使用我们刚授权的信息再次访问之前配置的需要认证的路由可以得到我们预期的结果奈斯和网关篇的内容完全一致。注意在配置完信息后需要清理缓存因为我们之前做网关时很多配置信息的读取使用了缓存。三、如何统一输出结果作为一块准备应用到生产环境的产品可能为各种第三方提供应用支持那么统一的输出结果是必须要实现的比如我们使用微信sdk或其他第三方sdk时会发现它们都会列出出现错误的统一提示由标识代码和说明组成这里我们就需要解决如何标准化输出问题自己业务系统输出标准结果很容易因为都是自己控制的结果输出那么我们网关集成Ocelot、认证集成IdentityServer4这两块如何进行标准化输出呢那开始我们的改造之旅吧首先我们要明确如果遇到错误如何进行输出我们定义一个输出基类BaseResult详细的定义如下1、网关默认输出改造网关这段需要改造错误提示的代码和内容以及异常的输出结果首先改造错误情况的输出结果使用BaseResult统一输出这里就需要重写输出中间件ResponderMiddleware下面就开始重写之旅吧。新增自定义输出中间件CzarResponderMiddleware详细代码如下然后添加中间件扩展代码如下。最后使用此扩展来接管默认的输出中间件,详细代码如下。//builder.UseResponderMiddleware();builder.UseCzarResponderMiddleware();好了网关统一输出中间件就完成了是不是很简单呢我们来测试下效果吧PostMan闪亮登场奈斯这才是我们需要的结果那如何异常会输出什么呢我们来模拟下结果我直接在服务端抛出异常测试。默认情况会支持输出异常的堆栈信息。那如何捕获服务端异常信息呢我们需要了解在哪里发送了后端请求通过源码分析发现是由HttpRequesterMiddleware中间件做后端请求这时我们只需要改造下此中间件即可完成统一异常捕获。改造核心代码如下修改测试后端服务代码如下然后通过网关访问路由地址http://localhost:7777/ctr/values/1,输出为{errcode:500,errmsg:请求服务异常}得到了预期的所有目标网关统一输出全部改造完毕。2、认证的统一输出改造这里为了统一风格我们先查看下Ids4的错误提示方式和输出结果然后配合源码可以发现到输出都是继承IEndpointResult接口并定义了各种方式的输出且校验失败时输出的状态码都不是200那么我们可以从这里下手在网关层增加独立的判断来兼容自定义的输出。改造代码如下改造完成后我们随时请求认证记录最终显示效果如下。奈斯输出风格统一啦这样就完美的解决了两个组件的输出问题终于可以开心的使用啦。四、内容总结本篇我们详细的介绍了客户端授权的原理和支持的两个授权的方式并各自演示了调用方式然后知道了如何在数据库端新开通一个客户端的信息然后介绍了配合网关实现客户端的授权和认证并再次介绍了网关端的路由配置情况最后介绍了如何把网关和认证统一输出格式便于我们在正式环境的使用涉及内容比较多如果中间实现的有不对的地方也欢迎大家批评指正。相关文章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原文地址:https://www.cnblogs.com/jackcao/p/10100621.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://wiki.neutronadmin.com/news/180503/

相关文章:

  • 传媒公司可以做网站么做公司官网需要哪些数据
  • 东莞网站建设规范美食网页设计免费模板
  • 零遁nas做网站dz怎么做视频网站
  • 源码网站模板台州专业做网站
  • 资源下载网站建设网站开发维护前景
  • 网站和app设计区别wordpress如何设置外网访问
  • 企业网站报告册设计模板有域名了怎么建立网站
  • 网站建设基本情况境外企业网站推广
  • 自己做的网站很慢网站开发 知乎
  • wap网站不流行wordpress阿里矢量图使用方法
  • 鞍钢节能公司网站开发受欢迎的昆明网站建设
  • 海外网站cdn加速下载百度推广非企代理
  • 贵州专业网站建设公司哪家好网页升级访问最新区域每天自动更新
  • 如何使用ftp上传网站简洁大气企业网站
  • 宏润建设集团股份有限公司网站网站导航
  • 哪个网站做欧洲旅行比较好网站做子页面怎么做
  • 网站logo设计创意非标自动化东莞网站建设
  • 赢展网站建设郑州网站制作公司
  • 交互式网站是什么郑州网站制作网页
  • 网站上怎么做动图上海网站建设服务市价
  • 网站定制开发怎么写海南省建筑信息平台
  • 网站标题格式中国教学网站
  • 网站源码和模板的区别wordpress的图片用cdn
  • 网站维护推广微信公众平台人工电话
  • 网站数据库 mysql贵港网站建设动态
  • 南宁网站建设兼职wordpress欢迎邮件代码
  • 宿迁北京网站建设网上商城网站建设
  • 如何搭建php网站wordpress 企业网站主题
  • 深圳网站设计十年乐云seo旅游业网站建设方案特点
  • 程序员网站建设公司网站格式