openid

IDX10501: Signature validation failed. Unable to match keys

假装没事ソ 提交于 2020-04-10 19:12:54
问题 Please help me to understand the difference between JWT token validation from the ASP netcore application and the netcore Kestrel hosted application. There are two applications that verifies token using the source code like below: public static IServiceCollection AddJwtToken(this IServiceCollection services, OAuthConfig config) { services.AddMvc(); services.AddAuthorization(); Logger.DebugFormat("AddJwtBearer authority:{0} audience:{1}", config.GetAuthority(), config.Resource); services

IDX10501: Signature validation failed. Unable to match keys

删除回忆录丶 提交于 2020-04-10 19:08:34
问题 Please help me to understand the difference between JWT token validation from the ASP netcore application and the netcore Kestrel hosted application. There are two applications that verifies token using the source code like below: public static IServiceCollection AddJwtToken(this IServiceCollection services, OAuthConfig config) { services.AddMvc(); services.AddAuthorization(); Logger.DebugFormat("AddJwtBearer authority:{0} audience:{1}", config.GetAuthority(), config.Resource); services

企业微信创建自定义应用

若如初见. 提交于 2020-04-10 09:48:31
企业微信逐步收紧通讯录权限搞的第三方服务商鸡飞狗跳,如果对权限要求比较高的话尽量使用自定义应用模式。 1、登录企业微信 点击应用管理-》应用-》自建-》创建应用 2、创建应用后,agentid和secret后面会用到 3、如果使用企业微信扫码登录的话,需要在这里设置授权回调域名 4、需要注意的是这个回调域名必须严格和下面的redirect_uri一致 开发者需要构造如下的链接来获取code参数: https : //open.work.weixin.qq.com/wwopen/sso/qrConnect?appid=CORPID&agentid=AGENTID&redirect_uri=REDIRECT_URI&state=STATE 参数说明 参数 必须 说明 appid 是 企业微信的CorpID,在企业微信管理端查看 agentid 是 授权方的网页应用ID,在具体的网页应用中查看 redirect_uri 是 重定向地址,需要进行UrlEncode state 否 用于保持请求和回调的状态,授权请求后原样带回给企业。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议企业带上该参数,可设置为简单的随机数加session进行校验 若提示“该链接无法访问”,请检查参数是否填写错误,如redirect_uri的域名与网页应用的可信域名不一致 返回说明 用户允许授权后

使用IdentityServer4实现一个简单的Oauth2客户端模式授权

南笙酒味 提交于 2020-04-09 00:54:11
1、首先新建一个webAPI项目做为IdentityServer的服务端,提供生成Token的服务,首先修改Startup.cs文件,如下图: 2、增加一个Config.cs文件,以便于提供资源和认证设置,如下图: 3、在Startup.cs文件中配置做初始化: 4、好了,我们把网站启动,然后我们访问http://localhost:5000/.well-known/openid-configuration(http://localhost:5000是我的程序启动地址,可以在Program.cs文件中自己配置。.well-known/openid-configuration是程序的默认配置地址)然后返回如下内容,表明我们服务端已经没有什么问题了。 5、然后我们再单独创建一个Webapi项目来实现调用IdentityServer端获取token实现资源的正常访问.首先设置启动地址: 6、设置API控制器授权特性: 7、设置启动配置选项: 8.我们先在Postman中用一个错误的token去访问,结果提示未授权。 9、通过访问IdentityServer提供的endpoint(步骤4图中有标记)地址来获取token,如下图: 10.通过获取的token,去访问被限制的资源(即步骤6图中标识的位置),返回成功,即访问成功: 附上通过第三方程序来调用token

.NET Core之微信支付之公众号、H5支付篇

允我心安 提交于 2020-04-08 07:26:01
原文: .NET Core之微信支付之公众号、H5支付篇 前言 本篇主要记录微信支付中公众号及H5支付全过程。 准备篇 公众号或者服务号(并开通微信支付功能)、商户平台中开通JSAPI支付、H5支付。 配置篇 公众号或者服务号中 -------开发-------开发者工具---------web开发者工具-------绑定为开发者 公众号或者服务号中 -------公众号设置--------功能设置 :填写业务域名、JS安全域名、网页授权域名 示例:pay.one.com 商户平台中--------产品中心-------开发配置------JSAPI支付授权目录填写:http://pay.one.com/ http://pay.one.com/WeChatPay/PubPay/-----H5支付填写:pay.one.com 若对配置还有疑问,可参考官方文档: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6 开发篇 JSAPI支付 本Demo是基于Payment 的SDK开发。具体详情可参考: https://github.com/Essensoft/Payment

获取微信公众号用户的基本信息(UnionID机制)

倾然丶 夕夏残阳落幕 提交于 2020-04-08 06:36:06
获取用户基本信息(UnionID机制) 在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的。对于不同公众号,同一用户的openid不同)。公众号可通过本接口来根据OpenID获取用户基本信息,包括昵称、头像、性别、所在城市、语言和关注时间。 请注意,如果开发者有在多个公众号,或在公众号、移动应用之间统一用户帐号的需求,需要前往微信开放平台(open.weixin.qq.com)绑定公众号后,才可利用UnionID机制来满足上述需求。 UnionID机制说明: 开发者可通过OpenID来获取用户基本信息。特别需要注意的是,如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的unionid是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。 获取用户基本信息(包括UnionID机制) 开发者可通过OpenID来获取用户基本信息。请使用https协议。 接口调用请求说明 http请求方式: GET https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid

网站微信登录授权 ASP.NET

こ雲淡風輕ζ 提交于 2020-04-08 06:34:06
微信认证流程(我自己简称三次握手): 1、用户同意授权,获取code 2、通过code换取网页授权access_token,用户openId等信息 3、通过access_token和用户的openId获取该用户的用户信息 因为第一步必须要经过微信的登录授权,不能网页后端请求,所以先要经过用户同意,通过页面网页请求组装的微信请求链接。请求该链接, 获取code后,后端模拟请求。获取用户信息。 微信三次握手的方法(代码) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 public class WeiXinOAuth { /// <summary> /// 获取微信Code /// </summary> /// <param name="appId">微信AppId</param> /// <param name="appSecret">微信AppSecret<

shimingxy/MaxKey

社会主义新天地 提交于 2020-04-07 13:26:16
MaxKey MaxKey(马克思的钥匙) ,寓意是最大钥匙, 是用户单点登录认证系统(Sigle Sign On System),支持OAuth 2.0/OpenID Connect、SAML 2.0、JWT、CAS等标准化的开放协议,基于开放用户安全身份认证系统(User Security Access System),提供简单、可靠和安全的用户认证和单点登录,包含用户认证、单点登录、资源管理、权限管理等。 什么是 单点登录(Single Sign On) ,简称为 SSO ? 用户只需要登录认证中心一次就可以访问所有相互信任的应用系统,无需再次登录。 MaxKey on GitHub MaxKey on 码云(Gitee) 官方文档 QQ交流群: 434469201 点击链接加入群聊 邮箱EMAIL: shimingxy@163.com 标准化认证协议: 序号 协议 支持 1 OAuth 2.0/OpenID Connect 高 2 SAML 2.0 高 3 JWT 高 4 CAS 高 5 FormBased 中 6 TokenBased(Post/Cookie) 中 7 ExtendApi 低 8 EXT 低 登录支持 序号 登录方式 1 动态验证码 2 双因素认证 3 Google Authenticator 4 Kerberos/Spengo/AD域 5 社交账号 微信

shimingxy/MaxKey

|▌冷眼眸甩不掉的悲伤 提交于 2020-04-07 10:24:04
MaxKey MaxKey(马克思的钥匙) ,寓意是最大钥匙, 是用户单点登录认证系统(Sigle Sign On System),支持OAuth 2.0/OpenID Connect、SAML 2.0、JWT、CAS等标准化的开放协议,基于开放用户安全身份认证系统(User Security Access System),提供简单、可靠和安全的用户认证和单点登录,包含用户认证、单点登录、资源管理、权限管理等。 什么是 单点登录(Single Sign On) ,简称为 SSO ? 用户只需要登录认证中心一次就可以访问所有相互信任的应用系统,无需再次登录。 MaxKey on GitHub MaxKey on 码云(Gitee) 官方文档 QQ交流群: 434469201 点击链接加入群聊 邮箱EMAIL: shimingxy@163.com 标准化认证协议: 序号 协议 支持 1 OAuth 2.0/OpenID Connect 高 2 SAML 2.0 高 3 JWT 高 4 CAS 高 5 FormBased 中 6 TokenBased(Post/Cookie) 中 7 ExtendApi 低 8 EXT 低 登录支持 序号 登录方式 1 动态验证码 2 双因素认证 3 Google Authenticator 4 Kerberos/Spengo/AD域 5 社交账号 微信

微信公众平台自定义菜单及高级接口PHP SDK

别等时光非礼了梦想. 提交于 2020-04-03 04:26:43
SDK 源码: 1 /* 2 方倍工作室 http://www.cnblogs.com/txw1958/ 3 CopyRight 2014 www.doucube.com All Rights Reserved 4 */ 5 6 class class_weixin_adv 7 { 8 var $appid = ""; 9 var $appsecret = ""; 10 11 //构造函数,获取Access Token 12 public function __construct($appid = NULL, $appsecret = NULL) 13 { 14 if($appid){ 15 $this->appid = $appid; 16 } 17 if($appsecret){ 18 $this->appsecret = $appsecret; 19 } 20 21 //hardcode 22 $this->lasttime = 1395049256; 23 $this->access_token = "nRZvVpDU7LxcSi7GnG2LrUcmKbAECzRf0NyDBwKlng4nMPf88d34pkzdNcvhqm4clidLGAS18cN1RTSK60p49zIZY4aO13sF-eqsCs0xjlbad-lKVskk8T7gALQ5dIrgXbQQ