微信公众号开发-授权登录二

作者:vkvi 来源:ITPOW(原创) 日期:2017-1-26

前面介绍了授权登录,虽然各种场景下代码差不多。但我觉得还是有必要继续补充一下:

在订阅号下做授权登录

微信没有开放订阅号下的授权登录,所以直接搞的话,没戏。

不过网友发现可以这么搞:在开放平台下注册,按开放平台的方式和配置来开发,但发现此时授权登录变成了扫二维码的形式来登录,这显然不符合需求。

要干掉扫二维码这个问题,只需要改一个地方:

将:https://open.weixin.qq.com/connect/qrconnect

改为:https://open.weixin.qq.com/connect/oauth2/authorize

此时就不是二维码了,不过由于 scope 只能是 snsapi_login,所以无法做到像 snsapi_base 那样的静默授权,如果之前刚刚登录,又调用,就会提示“近期你已经授权过,自动登录中”(大概是这么说的),隔一小段时间再自动跳转。

在服务号(指认证了的)下做授权登录

获得的用户标识

OpenID。同一个用户在访问不同的公众号、APP 时,其 OpenID 不相同。

调用地址

https://open.weixin.qq.com/connect/oauth2/authorize

scope 值

如果 scope 是 snsapi_base,是用来获取进入页面的用户的 openid 的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)

如果 scope 是 snsapi_userinfo,是用来获取用户的基本信息的。但这种授权需要用户手动点击同意按钮,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。 

在开放平台下做授权登录(这里只谈网页中的授权,不谈 APP 中的)

获得的用户标识

UnionID。同一个用户在访问不同的公众号、APP 时,其 UnionID 是相同的。

调用地址

https://open.weixin.qq.com/connect/qrconnect

scope 值

只能是 snsapi_login。登录时会出现一个二维码(即使是用微信打开)。

相关文章