oauth

微信公众号开发——那些令前端同学迷惑的微信校验

谁说我不能喝 提交于 2020-05-05 19:36:05
微信公众号开发——那些令前端同学迷惑的微信校验 微信公众号开发中几个阶段的权限校验,相对于前端同学来说(特别是没有nodejs基础的同学来说)可能相当费解,不过话说回来,现代前端不会nodejs可能会混的相当难受。 咱们今天把这些烦人的 access_token、 jsapi_ticket、signature 一次盘明白,本文所有操作都基于公众号的测试号,因此在开始 bibi 前需要先申请一个公众号的测试号,这里不再赘述。 一、消息接口 稍微复杂一些的公众号服务都会涉及自定义回复,比如某些消息内容需要返回数据库里面的数据,这就需要用到微信提供的消息接口: 第一步:填写接口配置信息 如上图 注意!在提交时微信会向你填写的URL地址发送一个get请求,所以提交之前你必须保证这个域名下的相应接口必须能正常返回(这里就涉及到了下一步要说的微信校验) 第二步:实现微信接口校验和消息接口 其实按理说这个才应该是第一步,因为如果服务端接口没有实现,上一步根本不能成功。好吧,顺序我就不改了,能看明白就行。 Step1:微信校验接口实现 这里是个什么概念呢?就是在你提交上面第一步填写的URL地址的时候,微信服务器会向你的地址发送一个get请求,同时带上四个参数: 为了你的服务器安全,你需要校验这个请求是否来自微信,校验的方法就是: 将你自己保存的token和微信带过来的timestamp

oauth2 杂谈

﹥>﹥吖頭↗ 提交于 2020-05-05 18:34:01
因为公司用oauth2 来认证和鉴权。就花了点时间了解这个框架。总的来说,这个框架还是比较重的并且难以理解 主要是它是靠过滤器的,很多都需要配置。可以通过properties和java代码来配置,很多时候我们都不知道它到底是这么回事 但经过学习,我觉着只要知道它是利用过滤器很多东西,就能简单点了 1,认证流程 从图中,我们可以知道UsernamePasswordAuthenticationFilter 就是封装请求的,他干的事有限,靠的是AuthenticationManager 来认证 而AuthenticationManager 又是靠DaoAuthenticationProvider 来干活, 认证就是根据username查询用户信息,这步需要开发人员做但密码比对这步需要security来做,就是框架将原密码进行加密,然后和数据库的密码比对。成功就将认证信息保存到SecurityContextHolder, 这是个ThreadLocal ,理解这点有利于我们理解security。 这样就引入了SecurityContextPersistenceFilter 由它来将认证信息放入theadlocal,当方法结束后就移除 在认证时,可以顺便将用户的权限查出,并放入theadlocal中 来源: oschina 链接: https://my.oschina.net/u

spring cloud gateWay 404

こ雲淡風輕ζ 提交于 2020-05-04 17:33:51
gateWay网关负载均衡报404错误,我的yml文件配置 spring: cloud: gateway: locator: enabled: true loadbalancer: # 服务找不到404 use404: true routes: # 认证中心 - id: lxyyf-auth uri: lb://lxyyf-auth predicates: - Path=/auth/** filters: # 验证码处理 - ValidateCodeGatewayFilter # 前端密码解密 - PasswordDecoderFilter #UPMS 模块 - id: lxyyf-upms-biz uri: lb://lxyyf-upms-biz predicates: - Path=/admin/** filters: # 限流配置 - name: RequestRateLimiter args: key-resolver: '#{@remoteAddrKeyResolver}' redis-rate-limiter.replenishRate: 10 redis-rate-limiter.burstCapacity: 20 # 降级配置 - name: Hystrix args: name: default fallbackUri: 'forward:/fallback' #

postman接口自动化测试之如何使用)

你说的曾经没有我的故事 提交于 2020-05-04 11:05:11
postman 是一款强大网页调试工具的客户端,postman为用户提供强大的 Web API & HTTP 请求调试功能。postman能够发送任何类型的HTTP 请求 (GET, HEAD, POST, PUT..),附带任何数量的参数+ headers,是一款非常实用的调试工具。需要的朋友快来下载吧。 不要点击:https://item.taobao.com/item.htm?id=613711271112 相似软件 版本说明 软件地址 postman软件特色 支持各种的请求类型: get、post、put、patch、delete 等 支持在线存储数据,通过账号就可以进行迁移数据 很方便的支持请求 header 和请求参数的设置 支持不同的认证机制,包括 Basic Auth,Digest Auth,OAuth 1.0,OAuth 2.0 等 响应数据是自动按照语法格式高亮的,包括 HTML,JSON 和 XML postman软件功能 1、模拟各种HTTPrequests 从常用的GET、POST到RESTful的PUT、DELETE…等等。甚至还可以发送文件、送出额外的header。 2、Collection功能(测试集合) 通过collection的归类,我们可以良好的分类测试软件所提供的API.而且Collection还可以Im port 或是Share出来

ASP.NET Core 运行原理解剖[5]:Authentication

半世苍凉 提交于 2020-05-02 10:17:16
原文: ASP.NET Core 运行原理解剖[5]:Authentication 在现代应用程序中,认证已不再是简单的将用户凭证保存在浏览器中,而要适应多种场景,如App,WebAPI,第三方登录等等。在 ASP.NET 4.x 时代的Windows认证和Forms认证已无法满足现代化的需求,因此在ASP.NET Core 中对认证及授权进行了全新设计,使其更加灵活,可以应付各种场景。在 上一章 中,我们提到HttpContext中认证相关的功能放在了独立的模块中,以扩展的方式来展现,以保证HttpContext的简洁性,本章就来介绍一下 ASP.NET Core 认证系统的整个轮廓,以及它的切入点。 目录 本系列文章从源码分析的角度来探索 ASP.NET Core 的运行原理,分为以下几个章节: ASP.NET Core 运行原理解剖[1]:Hosting ASP.NET Core 运行原理解剖[2]:Hosting补充之配置介绍 ASP.NET Core 运行原理解剖[3]:Middleware-请求管道的构成 ASP.NET Core 运行原理解剖[4]:进入HttpContext的世界 ASP.NET Core 运行原理解剖[5]:Authentication(Current) AuthenticationHttpContextExtensions

ASP.NET Core 认证与授权[4]:JwtBearer认证

烈酒焚心 提交于 2020-05-02 10:17:00
在现代Web应用程序中,通常会使用Web, WebApp, NativeApp等多种呈现方式,而后端也由以前的Razor渲染HTML,转变为Stateless的RESTFulAPI,因此,我们需要一种标准的,通用的,无状态的,与语言无关的认证方式,也就是本文要介绍的JwtBearer认证。 目录 Bearer认证 JWT(JSON WEB TOKEN) 头部(Header) 载荷(Payload) 签名(Signature) 示例 模拟Token 注册JwtBearer认证 添加受保护资源 运行 扩展 自定义Token获取方式 使用OIDC服务 源码探索 JwtBearerPostConfigureOptions JwtBearerHandler Bearer认证 HTTP提供了一套标准的身份验证框架:服务器可以用来针对客户端的请求发送质询(challenge),客户端根据质询提供身份验证凭证。质询与应答的工作流程如下:服务器端向客户端返回401(Unauthorized,未授权)状态码,并在WWW-Authenticate头中添加如何进行验证的信息,其中至少包含有一种质询方式。然后客户端可以在请求中添加Authorization头进行验证,其Value为身份验证的凭证信息。 在HTTP标准验证方案中,我们比较熟悉的是"Basic"和"Digest"

Asp.netCore WebApi初体验之搭建Swagger并在IIS上部署

余生长醉 提交于 2020-05-02 09:55:31
1、新建.netCore webapi项目 2、安装swagger ,通过 Package Manager 控制台: Install-Package 3、Startup.cs中注册服务并添加至管道 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Threading.Tasks; 5 using Microsoft.AspNetCore.Builder; 6 using Microsoft.AspNetCore.Hosting; 7 using Microsoft.AspNetCore.HttpsPolicy; 8 using Microsoft.AspNetCore.Mvc; 9 using Microsoft.Extensions.Configuration; 10 using Microsoft.Extensions.DependencyInjection; 11 using Microsoft.Extensions.Logging; 12 using Microsoft.Extensions.Options; 13 14 namespace CoreTest 15 { 16 public class Startup 17 { 18 public

基于.NET Core 3.1的WebApi集成swagger

那年仲夏 提交于 2020-05-02 09:22:22
=============================================== 2020/1/8_第1次修改 ccb_warlock =============================================== swagger作为Asp .Net的接口文档已经应用于当前系统一段时间了,比起开个postman填参数请求来说这个后台开发可以直接用swagger来快速测试接口的业务,前端开发通过查看swagger可以快速了解后台API的输入输出(毕竟开发进度紧张的情况下不可能来得及及时维护文档,但是开发环境的swagger只要代码更新就会一起更新) 最近为了试验EF Core 2.2的datetime类型存在的一个缺陷,公司也没有1个.net core 3.0以上的项目,没办法只有先改造.net core 2.2的项目到.net core 3.1以后,再进行下一步测试。 在做框架升级的时候,不得不实现swagger升级的问题。而swagger的升级问题花了点时间来处理,所以记录下过程方便以后查看。 现在的稳定版还不支持.net core 3.0+,所以Nuget里需要升级下面2个项目到5.0.0以上的预览版才能实现swagger的升级。 Swashbuckle.AspNetCore( 勾选上预发行,当前要v5.0.0-rc5以上版本 )

.net WebApi使用swagger 美化接口文档

懵懂的女人 提交于 2020-05-02 08:29:31
本文将一步步演示如何用swagger美化WebApi接口文档,为接口文档添加接口名称说明,为请求参数和返回数据结构字段含义添加注释说明 一、为WebApi项目安装Swagger 首先我们新建一个WebApi项目 图1(新建WebApi项目) 右击项目,选择管理NuGet程序包,搜索swagger,为WebApi安装swagger 图2(右击项目或者解决方案,选择管理NuGet程序包) 图2(在管理NuGet程序包中搜索Swagger) Swagger安装成功后,App_Start目录会多出一个SwaggerConfig.cs文件 修改HomeController中的Index 运行项目,出现如下图,说明Swagger安装成功 二,为接口添加请求参数字段说明 新建一个类库,用于存放WebApi请求和响应相关模型,并在WebApi中添加对该类库引用 右击WebApiModel项目属性-->生成,勾选XML文档文件,为WebApiModel生成项目Xml文档 在WebApiModel中新增LoginModel类 using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading

打算写一个《重学Node.js》系列,希望大家多多支持

元气小坏坏 提交于 2020-05-02 00:22:47
先放上链接吧,项目已经开始2周了: https://github.com/hellozhangran/happy-egg-server 想法 现在是2019年11月24日,还有人要开始学习Node.js吗? Node.js大概从2014年开始火热,现在搜一下学习教程,很多开源教程都是3~5年前写下的。再详细搜一下express、mongodb相关文章,时间点大部分也是2017,大量的Node.js开源项目也已经停更了。当年大家都在讨论Node.js为何这么火,而此刻我发现大家开始讨论为何Node.js不火了。我也是从五年前开始接触Node.js,但由于工作场景中很少使用,所以有了后面的学习放弃、再学再放弃。最近打算再捡起来系统性的学习一下,却发现现在大部分教程都已过老。比如,启动项目已经不再使用supervisor而是用nodemon;mongodb已经修改协议不再开源,homebrew也已对其下架,无法用brew install方便的安装了;从Node8开始已默认支持async语法无需babel了;现在Node.js的稳定版已经是12.13.1了。 所以在自己学习了一周,写了几个demo后决定写一个《重学Node.js》系列,记录的同时也可以分享给同样在重学或新学Node.js的同学们~ 做啥&咋做 目的很简单,重新学一遍 Node.js,并沉淀成项目和文档