
如果开发者拥有多个移动应用,网站应用,公众号和小程序,可以通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开发平台账号下的移动应用,网站应用,公众号和小程序,用户的 UnionID 是唯一的。 换句话说,同一个用户,对同一个微信开发平台梁铅的不同应用,UnionID是唯一的。
}
获取完用户信息后通过 wx.login 获取用户的 code 临时登陆授权码,传给后台服务器调用 code2session 获取用户的 openid (用户的唯一表识,保存本地)。然后将openid 和用户信息橡颂好录入用户表,回调之后前端拿到录入用户的生成的userId,保存到本地。保存到本地的openid和userId会在用樱陵户卸载小程序后失效。如果失效,用户需要重新授权。
开发者可通过OpenID来获取用户基本信息。请使用https协议。
参数:
公众号和小程序均可以使用 AppID 和 AppSecret 调用接口来获取 access_token 。 AppID 和 AppSecret 可在“微信公众平台-开发-基本配置”页中获得(需要已经成为开发者,且帐号没有异常状态)。调用接口时,请登录“微信公众平台-开发-基本配置”提前将服务器IP地址添加到IP白名单中,点击查看设置方法,否则将无法调用成功。小程序无需配置IP白名单。
1、appid: 微信小程序/公众号的唯一凭证,即 AppID。
获取途径:可在「微信公众平台 - 设置 - 开发设置」页中获得。(需要已经成为开发者,且帐号没有异常状态)
用途:小程序的 AppID 相当于小程序平台的一个身份z,会在很多场景中使用,比如小程序的登录、授权等
2、openID: openID 是微信生态下 应用的唯一标识 , ,即同一个用户在不同的小程序下的openid是不同的。
获取途径:调用 auth.code2Session 接口,通过code(登录凭证,调用wx.login获取)+appid+appsecret(小程序密钥,获取方式和appid一样)可以换取枣袜闹openid,即 静默授权。
用途:用于在开发者系统中标识好毕用户信息
3、UnionID:UnionID 是微信生态下 用户的唯一标识 ,换句话说,同一用户,对同一个微信开放平台下的不同应用,UnionID是相同的。
获取途径:绑定了开发者帐号的小程序,可以通过以下途径获取 UnionID。
1)开发者可以直接通过 wx.login + code2Session 获取到该用户 UnionID,无须用户授权。
2)小程序端调用云函数时,可在云函数中通过 Cloud.getWXContext 获取 UnionID。
用途:标识同一个微信开放平台下的用户,可用于去重判断
也就是我们常用的微信移动端/PC端之间的扫码登录,PC端用微信扫码登录,微信移动端确认授权登录后,应用可以从微信拿到用户的open id或union id,将微信获取的用户信息与自己账户体系中的用户身份进行关联;
需要用户确认登录,这样可以通过用户的个人确认,获取用户全面的信息,无论是否关注相关微信公众号等都可以获取。
1、静默授权不需要用户确认,只需要用户访问某个网页,属于嵌套在普通网页里的授权形式,但是只能获取到用户的唯一标示openid和union id,无法拿到用户的微信头像、微信名称等个人信息,对于用户的简单认证还是很有用的。
2、静默授权的过程:
1)调用 wx.login() 获取 临时登录凭证code
2)调用 auth.code2Session 接口,换取用户唯一标识 openID
3)调用本地后台服务,将 openID 映射到本地的 userId
微信开发文档-小程序登录流程
参考文章:
1、 【微信小程序用户授权登录】
2、 微信第三方凳罩登录(静默授权和非静默授权)
3、 openid会变吗?微信小程序开发中的appid、openid、unionid使用总结
1、用户打开小程序,在页面上调用小程序中的wx.login(Object object)接口,调用该接口获取登录凭证(code)通过凭证进而换取用户登录态信息,包括用户在当前小程序的唯一标识(openid)、微信开放平台帐号下的唯一标识(unionid,若当前小程序已绑定到微信开放平台帐号)及本次登录的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。更多使用方法详见小程序登录。
2、获取openid、unionId和session_key。将登录态code发送给自己的后台服务器,后端服务调用auth.code2Session接口
登录凭证校验。通过wx.login接口获得临时登录凭证 code 后传到开发者服务器调用此接口完成登录流程。更多使用方法详见小程序登录。
3、首次登录获取用户信息。微信小程序API近期又做了做兆调整,之前用的好好的getUserInfo做了重大调整,无法直接获取用户信息了,比如昵称头像等等,当然2021年4月13日上线前的小程序不受影响,如果想要再次升级新版本,即必须涉及到更换获取用户授权的修改,将getUserInfo改成getUserProfile接口。
推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认开发者妥善保管用户快速填写的头像昵称,避免重复d窗。建议保存信息,这样后面就无需重新获取。
4、通过上面三步,保存相关信或胡链息。就可成功登录微信小程序了,但是还需要做登录维护。
如果用户登录小程序后,然后又退出该小程序了。在一段时间内,再次进入该小程序,视为有效登陆,如果超出指定的时间,则视为无效登陆,需要重新登陆。衫孙
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)