openid

微信公众号配置及微信jsAPI支付

前提是你 提交于 2021-01-13 19:02:36
公众号配置 一、基本配置 首先登陆微信公众平台,在开发--->配置--->公众号开发信息,获取到AppId,开发者秘钥是后台需要的,给到后台,IP白名单配置就是你服务器的IP地址写到里面就可以了。 前端开发首选要绑定开发者才能使用微信的开发者工具。需要在开发-->开发者工具-->web开发者工具-->绑定开发者微信号。 二、接口权限 要在微信中使用接口获取到微信的code或者openId需要有接口权限,在开发--->接口权限--->网页服务--->网页授权--->功能设置,里面设置js接口安全域名和网页授权域名。 也可以直接在设置---->公众号设置进入。 首先在网页授权域名点击下载txt文件,放到访问首页的目录文件夹下。配置域名都是去掉http(s)://的。 三、菜单栏设置 菜单栏可以后台设置也可以前端设置,前端都是自定义设置设置名称和链接地址就可以了。 微信支付---jsAPI支付   微信支付文档网址 https://pay.weixin.qq.com/wiki/doc/api/index.html   这个文档主要看先开发步骤里面的支付配置---->公众号支付,这里面授权目录需要浏览器安转控件,这个添加的时候有提示,也没什么可说的    公众号的jsapi支付主要是用的是微信内H5调起支付,不是微信js-sdk文档的支付  即使用的是WeixinJSBridge

【微信开发】-- 企业转账到用户

不羁的心 提交于 2021-01-08 04:12:20
from: https://www.cnblogs.com/stoneniqiu/p/6337525.html 在微信公众号支付的API中没有这个接口,如果企业需要给用户转账,或者让用户提现或者给用户发红包等需要再商户平台中的产品中心分别开通。 一、开通功能 开通就是点击一下,很简单。但需要注意的是支持向用户转账的账户和收到用户付款的账户不是同一个,而为了满足此功能,你需要先用财付通进行充值(交易中心--资金管理--充值)。 二、下载证书 证书下载在账户中心--API安全,现在需要手机验证码和商户平台登录密码。下载之后再window上进行安装,安装的密码是商户号。 安装之后并将证书放在网站目录下,用于下一步在代码中进行验证。 三、转账 微信现在提供的demo中没有这一块,下面就根据官方的demo做一些修改。和之前的例子类似,我们都需要用WxPayData对象来操作我们的参数。定义一个TransfersPay对象。 public class TransfersPay { public string openid { get; set; } public int amount { get; set; } public string partner_trade_no { get; set; } public string re_user_name { get; set; } public

【微信开发】微信网页扫码登录的实现

倾然丶 夕夏残阳落幕 提交于 2021-01-08 01:26:51
官方文档: https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316505&token=00d2aafc5bc1b9e3d6a3b4bc2f60662aa4ed0fc9&lang=zh_CN 准备资料: 在开放平台申请网站应用,需要付费300rmb, 脸上笑嘻嘻,心里。。。 1 第一种模式,在微信作用域执行 $redirect_uri= " http://你的微信开放平台绑定域名下处理扫码事件的方法 " ; $redirect_uri =urlencode($redirect_uri); // 该回调需要url编码 $appID= " 你的appid " ; $scope = " snsapi_login " ; // 写死,微信暂时只支持这个值 // 准备向微信发请求 $url = " https://open.weixin.qq.com/connect/qrconnect?appid= " . $appID. " &redirect_uri= " .$redirect_uri . " &response_type=code&scope= " .$scope. " &state=STATE#wechat_redirect "

微信网页扫码登录的实现

荒凉一梦 提交于 2021-01-08 00:35:01
文档1: 为了让用户登录网站的门槛更低,微信扫一扫登录变得越来越广泛,所以最近加紧赶制的项目中有用到这个功能,此篇文字的出发点基于微信开放平台已经配置好域名(80端口)并且认证成功获得app_id和secret并有权限调用微信的接口。好了,就先谈一谈微信扫码登录的整个流程吧。   第一步,我们必须得把二维码放在页面上显示。首先普及一下二维码是有失效时间以及失效状态的,一旦你扫过一次二维码或者在某段时间内没有扫描页面上的二维码,该二维码就失效了。OK,微信官网给我们提供两种方式来显示二维码:1.后台发请求返回一个新的页面;2.前端js实例化二维码内嵌在自己的页面上,显然第一种比较适合懒的人(因为微信直接返回一个打包好的页面啊有木有,都不用各种css调样式了),不过在项目中两种都在用,所以就都说明一下。   1.后台发请求获取微信返回的扫码页面 $redirect_uri ="http://你的微信开放平台绑定域名下处理扫码事件的方法" ; $redirect_uri = urlencode ( $redirect_uri ); // 该回调需要url编码 $appID ="你的appid" ; $scope ="snsapi_login"; // 写死,微信暂时只支持这个值 //准备向微信发请求 $url = "https://open.weixin.qq.com/connect

微信PC网页扫码登录和公众号网页授权登录的比较

久未见 提交于 2021-01-07 23:43:49
最近在做PC端二维码扫码登录的功能,总结了一些开发过程中学习到的知识。 主要区别 二者的主要区别: 差异 PC网页扫码登录 公众号网页授权登录 账号要求 需要开放平台账号创建网站应用 一个认证过的服务号就可以(也可以使用公众号的测试号) 授权方式 在页面打开公众号二维码之后授权 公众号内打开授权链接(不关注公众号也可以) 授权环境 PC浏览器网页 微信客户端 测试号 无 有(可以申请使用测试账号) 两者的授权流程一样,需要授权获取code换取token和openid再去请求用户信息 PC端扫码还有一种方式(本质上还是网页授权的方式) PC端扫的二维码地址是移动端的网页,手机扫码后打开的是网页授权链接,通过网页授权的方式获取code拿到用户openid或者unionid,PC端通过轮询方式获取用户id进行登录 授权原理 授权原理简述: 用户通过手机微信确认登录之后,微信方会返回一个授权码code给回第三方(接入方),这个授权码code一次有效期,且有效时间比较短;第三方通过此code去调用微信接口获取token,token的有效期也比较短,当然用户可以通过刷新token的方式来延长token的有效时长;第三步通过token再去调用微信开发平台接口,获取微信个人用户信息 微信OAuth2.0授权登录官方说明 1.第三方发起微信授权登录 请求,微信用户允许授权第三方应用后

设计模式-适配器模式

这一生的挚爱 提交于 2021-01-06 11:52:08
适配器模式 智者千虑必有一失,愚者千虑必有一得 在我们做设计的时候总是会出现一些 意外 ,适配器模式就是帮我们来弥补这些意外的 定义 变压模式,也叫包装模式,但是包装模式可不止一个。装饰者也是。 功能是将 一个类的接口编程客户端所期望的另一个接口,从而使原本接口不匹配而无法在一起工作的两个类能够一起工作 属于结构型设计模式 例子 Switch的港版电压在国内是不适用的,需要两脚转三角插头 有点亡羊补牢的感觉 通用写法 类适配器 Target目标角色 ​ 该角色定义把其他类转换为何种接口,也就是我们的期望接口,例 子中的IUserInfo接口就是目标角色。 public interface Target { int request(); } ​ 目标角色是一个已经在正式运行的角色,你不可能去修改角色中的方法,你能做的就是如何去实现接口中的方法,而且通常情况下,目标角色是一个接口或者是抽象类,一般不会是实现类。 Adaptee源角色 ​ 你想把谁转换成目标角色,这个“谁”就是源角色,它是已经存在的、运行良好的类或对象,经过适配器角色的包装,它会成为一个崭新、靓丽的角色。 public class Adaptee{ public int specificRequest() { return 220; } } Adapter适配器角色 ​ 适配器模式的核心角色

IdentityServer4 之Client Credentials走起来

你离开我真会死。 提交于 2021-01-03 12:42:23
前言 API裸奔是绝对不允许滴,之前专门针对这块分享了jwt的解决方案( WebApi接口裸奔有风险 );那如果是微服务,又怎么解决呢?每一个服务都加认证授权也可以解决问题,只是显得认证授权这块冗余,重复在搞事情;IT大佬肯定容忍不了,对于微服务架构,统一的认证授权中心那是必须的。 随着.NetCore的发布,IdentityServer4随之而出,是.Net Foundation的成员之一,专门针对.NetCore而出的认证授权框架,当前.Net圈是比较火的啦;再配上微服务认证授权的必要性,我决定以此开始入手进行微服务架构学习分享; 主要的学习分享思路为敲代码为向导,如果遇到相关理论概念,结合代码案例进行解释,不在单独针对理论知识整理相关文章(主要是担心归纳总结不好,让小伙伴疑惑,所以就想着结合应用案例解释比较容易理解)。 正文 IdentityServer4 主要的功能就是认证和授权,其他功能这里先假装不知道;主要目的就是想用其统一保护各个微服务的接口;先来理解一下认证和授权: 授权(Authorization) :在用户身份认证通过之后,授予用户访问资源的过程或是用户授予第三系统访问自己资源的过程,资源可能是个人信息、文件、数据、接口等;OAuth2是现在比较火的授权标准,对于授权流程,后续会举例说明; 在公司,假如小伙伴是领导,在出差或休假的时候,通常会通过口头、邮件

Quarkus: how to test secured API endpoints with swagger-ui

霸气de小男生 提交于 2021-01-03 07:08:02
问题 We have a Quarkus application with some secured endpoints. For development and easy testing without much effort, we would like to use Swagger UI as described at https://quarkus.io/guides/openapi-swaggerui. But this seems to only work for unprotected endpoints. Is there a way to also make request to protected endpoints in Swagger UI? 回答1: You need to add a security scheme to your specification: One way to do it is by using annotations: @OpenAPIDefinition(info = @Info(title = "My API", version

Quarkus: how to test secured API endpoints with swagger-ui

拜拜、爱过 提交于 2021-01-03 07:06:31
问题 We have a Quarkus application with some secured endpoints. For development and easy testing without much effort, we would like to use Swagger UI as described at https://quarkus.io/guides/openapi-swaggerui. But this seems to only work for unprotected endpoints. Is there a way to also make request to protected endpoints in Swagger UI? 回答1: You need to add a security scheme to your specification: One way to do it is by using annotations: @OpenAPIDefinition(info = @Info(title = "My API", version

Quarkus: how to test secured API endpoints with swagger-ui

老子叫甜甜 提交于 2021-01-03 07:05:51
问题 We have a Quarkus application with some secured endpoints. For development and easy testing without much effort, we would like to use Swagger UI as described at https://quarkus.io/guides/openapi-swaggerui. But this seems to only work for unprotected endpoints. Is there a way to also make request to protected endpoints in Swagger UI? 回答1: You need to add a security scheme to your specification: One way to do it is by using annotations: @OpenAPIDefinition(info = @Info(title = "My API", version