微信小程序UnionID 和授权机制

微信小程序UnionID 和授权机制,第1张

如果开发者拥有多个移动应用,网站应用,公众号和小程序,可以通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开发平台账号下的移动应用,网站应用,公众号和小程序,用户的 UnionID 是唯一的。 换句话说,同一个用户,对同一个微信开发平台的不同应用,UnionID是唯一的。

}

获取完用户信息后通过 wx.login 获取用户的 code 临时登陆授权码,传给后台服务器调用 code2session 获取用户的 openid (用户的唯一表识,保存本地)。然后将openid 和用户信息录入用户表,回调之后前端拿到录入用户的生成的userId,保存到本地。保存到本地的openid和userId会在用户卸载小程序后失效。如果失效,用户需要重新授权。

开发者可通过OpenID来获取用户基本信息。请使用https协议。

参数

公众号和小程序均可以使用 AppID 和 AppSecret 调用接口来获取 access_token 。 AppID 和 AppSecret 可在“微信公众平台-开发-基本配置”页中获得(需要已经成为开发者,且帐号没有异常状态)。调用接口时,请登录“微信公众平台-开发-基本配置”提前将服务器IP地址添加到IP白名单中,点击查看设置方法,否则将无法调用成功。小程序无需配置IP白名单。

unionid与openid的不同之处在于:

openid是同一用户同一应用唯一;而unionid是同一用户不同应用唯一。

很显然,如果要拿到用户的唯一id,只能用unionid。

因为unionid是用户的私密信息,所以需要走登录入口。

uni-app框架对这块做了很好的封装,直接调用即可。不过api有点乱,手册介绍的实例是用云函数的方式获取,但云函数的相关配置比较繁琐,我们可以绕过不用。

记录一下小程序关联服务号的消息推送功能。

准备工作:

1、获取小程序的appid与appsecret(小程序后台获取)

2、获取服务号的appid与appsecret(服务号后台获取)

3、小程序与服务号绑定在同一个微信开放平台

注意:小程序、服务号、微信开放平台都要认证!!!都要认证!!!都要认证!!!

接下来进入正题。

第一步:获取服务号的access_token

直接通过官方给的接口获取。这里有两个参数,都可以直接获取到

第二步:获取已关注服务号的所有用户的openid

还是通过官方提供的网址获取openid,这里需要一个参数access_token,已从上一步获取到了

第三步:获取已关注用户的用户信息

这一步可获取用户的详细信息,包括昵称、头像、地理位置、unionid等。根据官方网址需要两个参数access_token与openid通过上面两部均已取得。这里后台可以生成一张表用于存储这些数据。

第四步:小程序登录时获取用户的unionid

(1)用户登录小程序时,通过wx.login()获取code

(2)通过微信官方网址获取unionid,需要的参数为code、appid、appsecret

第五步:服务号的模板消息推送

(1)当服务号与小程序绑定在同一个开放平台时,他们的unionid是一样的,所以我们可以通过unionid这个中间量来进行数据的查找

(2)通过第四步获取的unionid,我们可以查找到当前登录小程序的用户他的服务号的openid。

(3)需要的两个参数都获取到了,我们就可以推送消息模板啦,接下来按照官方的教程 *** 作就行了。

(4)如果想要一次推送给多人可以把接收人的openid存到一个数组中,然后加个循环就行了。

总结:用户必须关注服务号,否则不发收到推送消息。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11303286.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存