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

南宁网站设计公司企业邮箱注册申请126

南宁网站设计公司,企业邮箱注册申请126,网页设计与制作网站教程,能看实物的地图软件本文主要介绍一种与微信公众平台对接方式类似的#xff0c;为 AspNetCore 提供的一种简易的 WebAPI 签名验证中间件。本文相关源码和案例已开源#xff0c;地址#xff1a;https://github.com/sangyuxiaowu/SignAuthorization原理说明简易的 API url 签名验证中间件#xf…本文主要介绍一种与微信公众平台对接方式类似的为 AspNetCore 提供的一种简易的 WebAPI 签名验证中间件。本文相关源码和案例已开源地址https://github.com/sangyuxiaowu/SignAuthorization原理说明简易的 API url 签名验证中间件通过简单的url参数验证请求是否合法。思路是按照微信公众平台的验证消息的确来自微信服务器[1]的方式来实现的。访问 WebAPI 需要实现的 signature 签名流程也一样1.将token、timestamp、nonce三个参数进行字典序排序2.将三个参数字符串拼接成一个字符串进行sha1加密3.开发者获得加密后的字符串可与 signature 对比安装使用添加包使用包管理工具Install-Package Sang.AspNetCore.SignAuthorization或者 .NET CLIdotnet add package Sang.AspNetCore.SignAuthorization启用和配置在 app.MapControllers(); 前启用这个中间件并进行一些必要的配置。app.UseSignAuthorization(opt {opt.sToken you-api-token; });使用验证方式在需要签名的地方添加 SignAuthorizeAttribute。Mini APIapp.MapGet(/weatherforecast, () {// your code }).WithMetadata(new SignAuthorizeAttribute());或者[HttpGet] [SignAuthorize] public IEnumerableWeatherForecast Get() {// your code }配置说明参数default说明UnauthorizedBack{success:false,status:10000,msg:Unauthorized}验证失败后的 json 返回sTokenSignAuthorizationMiddlewareAPI签名使用的tokenWithPathfalse签名时需要包含请求的路径以 / 开头Expire5签名过期时间单位:秒nTimeStamptimestamp时间戳的GET参数名nNoncenonce随机数的GET参数名nSignsignature签名的GET参数名对接访问PHP example$sToken you-api-token; $sReqTimeStamp time(); $sReqNonce getNonce(); $tmpArr array($sToken, $sReqTimeStamp, $sReqNonce); sort($tmpArr, SORT_STRING); $sign sha1(implode($tmpArr)); $url http://localhost:5177/weatherforecast?timestamp$sReqTimeStampnonce$sReqNoncesignature$sign; echo $url\n; echo file_get_contents($url);function getNonce(){$str 1234567890abcdefghijklmnopqrstuvwxyz;$t1;for($i0;$i30;$i){$jrand(0,35);$t1 . $str[$j];}return $t1; }.Net examplevar unixTimestamp DateTimeOffset.Now.ToUnixTimeSeconds(); var sNonce Guid.NewGuid().ToString();ArrayList AL new ArrayList(); AL.Add(you-api-token); AL.Add(unixTimestamp.ToString()); AL.Add(sNonce); AL.Sort(StringComparer.Ordinal);var raw string.Join(, AL.ToArray()); using System.Security.Cryptography.SHA1 sha1 System.Security.Cryptography.SHA1.Create(); byte[] encry sha1.ComputeHash(Encoding.UTF8.GetBytes(raw)); string sign string.Join(, encry.Select(b string.Format({0:x2}, b)).ToArray()).ToLower();var client new HttpClient(); string jsoninfo await client.GetStringAsync($http://localhost:5177/weatherforecast?timestamp{unixTimestamp}nonce{sNonce}signature{sign});使用案例在开源仓库中提供了两个 weatherforecast 的接入验证样例 TestWebMiniAPI 和 TestWebAPI引入 nuget 包 Sang.AspNetCore.SignAuthorization 后仅需要修改很少的部分就可以实现 API 访问的 URL 验签。案例References[1] 验证消息的确来自微信服务器: https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Access_Overview.html#%E7%AC%AC%E4%BA%8C%E6%AD%A5%EF%BC%9A%E9%AA%8C%E8%AF%81%E6%B6%88%E6%81%AF%E7%9A%84%E7%A1%AE%E6%9D%A5%E8%87%AA%E5%BE%AE%E4%BF%A1%E6%9C%8D%E5%8A%A1%E5%99%A8
http://www.pierceye.com/news/141466/

相关文章:

  • 做酒店的网站免费进销存软件哪个简单好用
  • 湖州做网站推广的公司phpnow安装wordpress
  • 荆州网站建设销售网站怎么做的
  • 访问失效链接 如何删除 网站维护免费推广做产品的网站
  • 哪个网站做ppt能赚钱揭阳网站建设方案托管
  • 哪些网站可以免费做h5wordpress目录迁移
  • 郑州网站建设哪家有什么可以做兼职的网站吗
  • 没有影视许可怎么用国内空间做网站wordpress首页加广告代码
  • 高端电子商务网站建设js网页特效案例
  • 一个网站做三个关键词网站的建设与维护的职责
  • wordpress tag伪静态网站建设与优化推广方案模板
  • 公司网站建设 宁波传奇网站模板psd
  • 安县移动网站建设广州 网站制作
  • 山西太原网站建设网站设计计划
  • 广州番禺网站制作推广新浦网站制作
  • 做网站你给推广怎么仿制别人的网站
  • 做离心开关的企业的网站韩国女足出线了吗
  • 毕业设计网站开发题目shop++是什么
  • fqapps com网站怎么做wordpress慢数据库
  • 青岛制作网站企业安徽seo报价
  • 潍坊市高新区建设局网站hdsyscms企业建站系统
  • 网站运营做产品需要哪些知识开启wordpress多站点
  • flash网站源码 免费怎么可以自己制作网站
  • wordpress文章站主题如何删除自己建的网站
  • 徐州网站建设哪家好薇深圳找工作的网站
  • 局域网站点建设方案东莞企业营销型网站
  • 中国光大国际建设工程公司网站自己开店
  • 手机建站程序昆山设计公司
  • 网站泛解析中国新闻社是国企还是私企
  • dw做静态网站手机app制作视频教程