看官方说明,wx.login不需要任何授权就可以直接调用,然后可以用code换取openid。
比如小程序提供用户可以查询自己历史使用记录功能,一个老用户进入小程序后,因为openid已经在上面获取到了,也就明确此时是哪个用户了,那么开发者服务器自然可以根据这个openid让这名用户查询自己的历史记录对吧?
那么问题来了,可能存在这样的场景,就是某些时候,需要用户点击 open-type="getUserInfo"的button获取授权来获得用户昵称或头像(给用户的感觉就是类似于登陆的感觉对吧)。这时用户可能会觉得很奇怪啊,自己都能顺利查询自己的历史使用记录了,说明自己已经登陆过了,系统也知道自己是谁了,怎么还要让我登陆授权呢。。。。
请问各位老师,这种情况是我自己多虑了,还是确实有可能让用户产生误解呢?谢谢!
是你的理解是对的。wx.login和你业务上的用户登录不是一回事。小程序里,业务上可以不需要登录环节就能使用几乎所有业务,一般被误以为“登录”的授权昵称,实际上却是不影响用户登录的,只取决于你的业务需要不需要用户昵称等信息。
登陆授权是为了获取用户基础信息,不然你只有openid,你存一次用户基础信息后不确定用户什么时候会改头像昵称,所以之后的授权是为了更新用户信息,不更新也无所谓。