0%

微信授权流程

在公司制作 H5 页面的时候,有这样一个场景:在微信打开 H5 页面,已经绑定微信的用户直接免密登录,未绑定的用户使用传统账号密码的登录方式。其中免密登录的核心一环就是走一个微信授权流程,原理不难,弄懂它的流程比较重要。

微信网页授权官方文档

当用户在微信中访问第三方网页的时候,公众号可以通过微信网页授权机制来获取用户基本信息。在授权过程中,openid作为用户的唯一标识,同一个用户不同公众号的openid不同,反之亦然。

  • 在发起授权前,需要到微信公众平台开发的官网设置授权回调的域名;
  • openid: 用户唯一标识;
  • code: code作为换取access_token的票据,每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期;
  • access_token: 网页授权接口调用凭证;
  • scope:用户授权的作用域;
    • snsapi_basescope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页(往往是业务页面)。用户无感知。
    • snsapi_userinfoscope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。

微信免密登录流程图