ThinkPHP框架之微信服务号开发之进阶篇--获取用户信息--两种不同的授权机制
两种授权方式:静默授权snsapi_base和手动授权snsapi_userinfo;
静默授权:静默授权在用户无感知授权状态下获取用户基本信息openid,nickname,sex,city,province等等信息;即关注后点击某事件直接进入业务页面,没有经过是否同意授权的页面;
优势:用户无感知授权即获取用户信息,防止部分用户因不予授权而无法开展正常业务;
劣势:实际使用过程中,部分手机防火墙防止用户信息泄露,阻止微信商户采用静默授权方式;
手动授权snsapi_userinfo:以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。
劣势:用户需要手动授权才可以进入业务页面,如果未授权则无法获取用户信息;并且在运行过程中,如果请求TX服务器给予授权页面时网络延迟情况,则可能会出现尚未获取用户openid,代码已经运行到业务逻辑页面的情况,因此在开发时需要考虑充分;
优势:由于是用户感知授权,信息泄露风险由用户承担因而所有的手机防火墙都支持该授权方式;