|
微信H5和微信小程序获取openid和unionid等用户信息的机制解读我们在做微信开发的时候有时候需要确认用户身份来完成登录注册、消息推送、用户关联、快捷登录等功能,但是小程序或H5应该在何时获取openid或unionid,如何才能设计出更加顺滑的操作,让产品经理们倍感头疼,今天就来简单讲讲H5和小程序获取用户信息的机制。 什么是openid、unionid和用户基本信息?WechatIMG506.png 这张图的意思是说,同一个微信用户在不同的应用中存在不同的唯一ID,就是openid,但是当两个应用绑定在同一个微信开发者平台账号下的时候,可以判断出两个openid关联的是同一个unionid,这样,开发者就知道两个应用中的两个用户其实是同一个用户。需要注意,假如两个应用没有绑定在同一个开发者账号下,那意味着无法获取到unionid。 用户基本信息包括:openid、unionid、昵称、头像、所在城市等众多信息,我们不需要明确太多,完全可以查看接口,这里要注意的是用户基本信息是包括unionid的,但是如果没有申请开发者平台账号并进行应用的绑定,那么用户基本信息是无法返回unionid的。 H5如何获取用户的openid和unionid明确H5:这里说的H5,是指网页应用,也就是说用户在微信客户端访问网页应用,可以通过授权机制获取到用户的信息,进而实现业务逻辑。 网页授权回调域名的说明:(翻译一下,就是H5网页在微信公众号的配置,这个不难,也不是重点,就直接复制微信开发者文档里面的内容看看就行了) (1) 在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头; 网页授权的两种形式官方文档 以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面) 方式2-非静默授权获取openid 以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。 到这里两种方式并没有完,微信官方文档中又增加了一条奇怪的限制: |
Copyright 2014-2025 All rights reserved