微信公众号&支付宝授权

微信公众号授权

第一步:用户同意授权,获取code(前端发起)
请求方式:

let url=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${redirectUrl}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect`;
window.location.href = url;

相关参数:
appid:公众号唯一标识
redirect_uri:授权后重定向的回调链接地址,需用 urlEncode 对链接进行处理,需要在公众号中提前配置
scope:
1.snsapi_base (静默授权,直接跳转,只能获取用户openid),
2.snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且, 即使在未关注的情况下,只要用户授权,也能获取其信息 )

第二步:通过code换取网页授权openid(服务端发起)
请求方式:

url=`https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code`

相关参数:
secret:公众号的appsecret
code:上一步获取的code参数
grant_type:设置为authorization_code

响应参数:至此即可取到openid

{
  "access_token":"ACCESS_TOKEN",
  "expires_in":7200,
  "refresh_token":"REFRESH_TOKEN",
  "openid":"OPENID",
  "scope":"SCOPE" 
}

第三步:刷新access_token(如果需要)
第四步:拉取用户信息(需scope为 snsapi_userinfo)


支付宝授权

第一步获取 app_auth_code(前端发起)

let url=`https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=${appid}&scope=auth_base&redirect_uri=${decodeURIComponent(redirectUrl)}&state=init`;
window.location.href = url;

相关参数:
appid:公众号唯一标识
redirect_uri:授权后重定向的回调链接地址,需用 urlEncode 对链接进行处理,需要在公众号中提前配置

注意:
1.授权链接中配置的 redirect_uri 内容需要与应用中配置的授权回调地址完全一样,否则无法正常授权。
2.在授权过程中,建议在拼接授权 URL 的时候,开发者可增加自己的一个自定义信息(即 URL 拼接规则中的 state 参数),便于开发者识别是哪个商户的授权

第二步使用 app_auth_code 换取 userId(服务端发起)

接口名称:alipay.open.auth.token.app
说明:开发者通过 app_auth_code 可以 单个/批量 换取 app_auth_token、授权商户的 userId 以及授权商户 AppId。
注意:
1.应用授权的 app_auth_code 是唯一的;app_auth_code 使用一次后失效,单个授权的有效期为一天(从生成 app_auth_code 开始的24小时)未被使用自动过期;批量授权的有效期为 10 分钟。
2.app_auth_token 永久有效。

参考文档
微信公众平台.
支付宝第三方应用授权.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值