微信网页静默授权(snsapi_base与snsapi_userinfo区别)

发布时间 2023-04-27 13:38:19作者: zaijinyang

1、区别:有无授权完整服务弹框

2、业务:有的网页只需要用户openid进行绑定,所以不需要弹框授权完整服务,用户会觉得整体体验不好。

3、snsapi_base:scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。

注:静默的另一种:对于已关注公众号的用户,如果用户从公众号的会话或者自定义菜单进入本公众号的网页授权页,即使是scope为snsapi_userinfo,也是静默授权,用户无感知。

4、snsapi_userinfo:scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。

微信网页跳转链接:

https://open.weixin.qq.com/connect/oauth2/authorize?
                    appid=${this.config.wxAppid}&
                    redirect_uri=${encodeURIComponent(local)}&
                    response_type=code&
                    scope=snsapi_base&
                    state=STATE#wechat_redirect

参数说明:

    appid:公众号的唯一标识;

    redirect_uri:授权后重定向的回调链接地址, 请使用 urlEncode 对链接进行处理;

    response_type:返回类型,请填写code;

    scope:应用授权作用域,snsapi_base (未关注,不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且, 即使在未关注的情况下,只要用户授权,也能获取其信息 )

    #wechat_redirect:无论直接打开还是做页面302重定向时候,必须带此参数;

    state:重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节