微信授权(前后端分离授权)

关于网页授权的微信开发文档地址: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842

微信授权分为以下四步:

1 第一步:用户同意授权,获取code

2 第二步:通过code换取网页授权access_token

3 第三步:刷新access_token(如果需要)

4 第四步:拉取用户信息(需scope为 snsapi_userinfo)

 

我认为我们前端需要的步骤是 

1、判断收否授权。

2、如果没有,跳转到微信提供的第三方授权链接。

3、用户点击授权,微信自动会跳转一个重定向页面,也就是回调页面。

4、前端获取到重定向链接上的code,截取下来发送个后端。(这个链接地址是你自己设置的,就是授权成功你需要跳回的页面,然后微信会在这个页面上地址上加上一个code。

5、后端会根据传过去的code,想第三方请求头像昵称等;

后面的事情就是交给后端了

https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxx&redirect_uri=xxx&response_type=code&scope=xxx&state=STATE#wechat_redirect

第一步:从这个链接可以中前端只需要知道的就是appid,redirect_uri,scope这三个参数就好啦;

appid: 公众号的唯一标识,比如wxca78bba21a91b789;

redirect_uri: 页面授权后的回调页面,授权后重定向的回调链接地址, 请使用 urlEncode 对链接进行处理

 比如: www.test.com/index,通过urlEncode处理后是www.test.com%2Findex;

scope: 应用授权作用域,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且, 即使在未关注的情况下,只要用户授权,也能获取其信息 )

完整实例: 

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxca78bba21a91b789&redirect_uri=www.test.com%2Findex&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect

我们前端需要做的事情当用户没有授权时,引导用户跳转到这个链接进行会授权;一旦用户点击同意就会出现第二步的操作。第二步的重点是你要设置一个回调页,微信会在你的回调页地址给你返回一个code

 

第二步: 在redirect_uri: 页面授权后的回调页面上,我们会截取微信服务端给我们返回的code,我们将code传给后端即可;

后端会根据你传过去的code给前端返回对应的uid(用户id),以及openid等;

http://www.test.com/index?code=125465ASDFAseg788&state=STATE

嗯。。。。到这一步位置呢前端就差不多啦

 

前端向后端发起一个请求:ajax('传送code:125465ASDFAseg788') ,这一步发送给后端,后端可以获取到用户的信息,头像,呢称等;

后端会但会一个data: 比如(uid(用户id),以及openid)

最后你就可以通过openid判断用户是否授权啊登录等功能

 

第三步: 后端处理

 

第四步: 后端处理

 

 

 

 


 

  • 7
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值