在公司制作 H5 页面的时候,有这样一个场景:在微信打开 H5 页面,已经绑定微信的用户直接免密登录,未绑定的用户使用传统账号密码的登录方式。其中免密登录的核心一环就是走一个微信授权流程,原理不难,弄懂它的流程比较重要。
微信网页授权官方文档
当用户在微信中访问第三方网页的时候,公众号可以通过微信网页授权机制来获取用户基本信息。在授权过程中,openid
作为用户的唯一标识,同一个用户不同公众号的openid
不同,反之亦然。
- 在发起授权前,需要到微信公众平台开发的官网设置授权回调的域名;
- openid: 用户唯一标识;
- code:
code
作为换取access_token
的票据,每次用户授权带上的code
将不一样,code
只能使用一次,5分钟未被使用自动过期; - access_token: 网页授权接口调用凭证;
- scope:用户授权的作用域;
- 以
snsapi_base
为scope
发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页(往往是业务页面)。用户无感知。 - 以
snsapi_userinfo
为scope
发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。
- 以