微信授权登录

 网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。 在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的网站应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程。

 微信OAuth2.0授权登录目前支持authorization_code模式,适用于拥有server端的应用授权。该模式整体流程为:


1. 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;
2. 通过code参数加上AppID和AppSecret等,通过API换取access_token;
3. 通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。

获取AccessToken时序图

微信授权登录_第1张图片

 微信授权登录共要经过以下3步

1、向微信公众平台获取code

  可在程序服务端重定向访问 微信公众平台页面

https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE

获得微信用户页面点击授权同意后,微信公众平台通过调用开发程序的回调地址返回code,然后进入下一步。

2、通过code获取accessToken

 程序服务端传入上一步获取到的code参数,再次向微信公众平台发起Http请求获取accessToken

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

该post请求返回值为Json类型,其中携带accessToken信息

3、使用accessToken获取用户信息

程序服务端再次向微信公众平台发起请求获取用户基本信息

https://api.weixin.qq.com//sns/userinfo

该post请求返回json格式数据,内容包含用户基本信息。

最终在程序服务端获取用户openId等数据并转换为程序token后,携带token数据重定向到前端项目即可。

你可能感兴趣的:(微信)