名次解释:
- openid:是 用户微信号∩公众号 的唯一标识符(微信号官方是不提供的)
- scope:网页授权获取信息的类型分三种,
- 无需关注:以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)
- 无需关注:以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。
- 需要关注:(不采用)用户管理类接口中的“获取用户基本信息接口”,是在用户和公众号产生消息交互或关注后事件推送后,才能根据用户openid来获取用户基本信息。这个接口,包括其他微信接口,都是需要该用户(即openid)关注了公众号后,才能调用成功的。
- access_token:获取用户信息的access_token有别于微信js-sdk里面的普通access_token,前者获取方式更简单,具体参照流程。
- UnionID:如果不涉及多个公众号,可忽略以下内容。UnionID用于多公众号、移动应用统一用户账号,因为多公众号、移动应用场景下,openId无法关联起A公众号和B公众号下的同一个用户,而UnionID=用户微信号∩同一个微信开放平台下的多 个公众号(移动应用)
流程图:
- 只获取openid
只需要1和2两步,在第二步获取到access_token的时候就能同时获取到openid微信用户请求————服务器请求微信开放平台授权————微信开放平台重定向(带code参数)请求服务器————服务器带上code请求微信开发平台————微信开放平台返回openId
- 授权登录
1-4步