snsapi_base和snsapi_userinfo明明一样的啊!文档为什么说不一样??

官方文档说:

clipboard.png

但是我实践发现,不管哪种授权回调页面都会携带code。

用这个code换取的都有access_token 和 openid。

access_token都可以拿去换取用户信息(昵称、头像)。

唯一区别就是snsapi_userinfo多返回一个unionid字段。

那我就不懂了,文档里说的如果是snsapi_base就给你openid是什么意思???snsapi_userinfo也给的啊!!!

而且snsapi_base是静默授权,而且也可以获得用来换取用户信息code,这对用户来说岂不是很危险???

还有就是《snsapi_base式的网页授权流程即到此为止》是什么意思???我明明还想获取用户信息,为什么让我到此为止???

所以两者有什么区别???

阅读 2.2k
2 个回答

1.文档里说的如果是snsapi_base就给你openid是什么意思???snsapi_userinfo也给的啊!!!
两种都给,没说snsapi_userinfo不给。
2.snsapi_base是静默授权,而且也可以获得用来换取用户信息code,这对用户来说岂不是很危险???
snsapi_base不可以获取用户信息。
3.《snsapi_base式的网页授权流程即到此为止》是什么意思???我明明还想获取用户信息,为什么让我到此为止???
到此为止是因为你已经拿到了openid,再往下走就是获取用户信息了,和snsapi_base没关系,所以结束了。
想要获取用户信息需要用snsapi_userinfo参数。
好好用心看文档。

最大的不一样就是

1、以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)
2、以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题