高考考试网
当前位置: 首页 高考资讯

微信的OpenID和UnionID到底的哪些秘密

时间:2023-06-12 作者: 小编 阅读量: 8 栏目名: 高考资讯

开发者可以通过微信官方提供的登录能力方便地获取OpenID。后端通过key获取到value,来维护用户身份。主要主体拥有了用户的UnionID,就可以自己授权用户登陆主体下的其他应用。注意本接口需要用户授权,请开发者妥善处理用户拒绝授权后的情况。开发者可以直接通过wx.logincode2Session获取到该用户UnionID,无须用户再次授权。

话不多说,直奔主题,当然也不是谈论什么惊天大秘密,只是公开的小秘密。

OpenID: 相当于用户在应用(小程序、公众号、小游戏)里的userid,这个id在本应用里固定不变,但是不同应用的OpenID不一样。比如在抖音小程序的OpenID是1,在头条小程序的OpenID是2。

开发者可以通过微信官方提供的登录能力方便地获取OpenID。官方流程如下图。

  1. 小程序前端通过wx.login()获取一个用户的临时code(有效期五分钟),然后通过wx.request()接口发送到开发者服务器。

wx.login({success (res) {if (res.code) {//发起网络请求wx.request({url: 'http://test.com/onLogin',data: {code: res.code}})} else {console.log('登录失败!'res.errMsg)}}})

  1. 开发者服务器通过前端传过来的code,再加上appid appsecret请求微信服务器,获取用户OpenID和session_key。其中session_key是有有效期的,至于多少开发者不知道。之后开发者服务器可以根据用户标识来生成自定义登录态,用于后续业务逻辑中前后端交互时识别用户身份。官方建议不要把openid和session_key给小程序前端,而是在后端把他们作为value存到缓存中,把key传给前端。前端在调用接口的时候带上key。后端通过key获取到value,来维护用户身份。

请求地址:GET http://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

  • 为什么每个应用的OpenID不一样,如果每个微信用户在不同的应用中OpenID,岂不是更好维护。

其实还是为了安全,如果OpenID一样,首先我们就可以通过OpenID做一些营销,就比如我们现在收到的垃圾短信,因为我们对外界暴露的手机号只有一个。但是如果我们给每个商家留的手机号不一样,短信只收这个商家的,那我们就少了许多垃圾短信。再有就是,几个微信大号有上亿的粉丝,如果让他们掌握了OpenID,也就是间接地掌握了微信用户的一些信息。微信肯定是不允许这样的。

UnionID:一个主体(公司)下的用户唯一标识。之前讲的抖音和头条的OpenID不一样。既然他们都属于字节跳动,为什么登陆授权了头条,再用抖音的时候还需要登陆授权呢。就是老生常谈的SSO。UnionID就是为了解决这个问题而生。主要主体拥有了用户的UnionID,就可以自己授权用户登陆主体下的其他应用。当然用户在每个主体里的UnionID也是不一样的。

用户可以通过如下方式获取UnionID。

1. 调用接口 wx.getUserInfo,从解密数据中获取 UnionID。注意本接口需要用户授权,请开发者妥善处理用户拒绝授权后的情况。2. 如果开发者帐号下存在同主体的公众号,并且该用户已经关注了该公众号。开发者可以直接通过 wx.logincode2Session 获取到该用户 UnionID,无须用户再次授权。3. 如果开发者帐号下存在同主体的公众号或移动应用,并且该用户已经授权登录过该公众号或移动应用。开发者也可以直接通过 wx.logincode2Session 获取到该用户 UnionID ,无须用户再次授权。4. 用户在小程序(暂不支持小游戏)中支付完成后,开发者可以直接通过getPaidUnionId接口获取该用户的 UnionID,无需用户授权。注意:本接口仅在用户支付完成后的5分钟内有效,请开发者妥善处理。5. 小程序端调用云函数时,如果开发者帐号下存在同主体的公众号,并且该用户已经关注了该公众号,可在云函数中通过 cloud.getWXContext 获取 UnionID。6. 小程序端调用云函数时,如果开发者帐号下存在同主体的公众号或移动应用,并且该用户已经授权登录过该公众号或移动应用,也可在云函数中通过 cloud.getWXContext 获取 UnionID。

总结 : OpenID的是针对单个应用的,UnionID针对主体的。

    推荐阅读
  • 孕妇偶尔用一次电磁炉可以吗(孕妇可以用电磁炉吗)

    有资料说电磁炉已成为家庭隐形杀手”之一。因为据悉孕妇使用电磁炉可能引起胎儿智能受损,婴儿出生后体质弱、抵抗力差。微波炉、电磁炉是家庭中电磁辐射集中的电器,因此孕妇应尽量避免使用,必须时可由家人代劳。但一些家电在运作时,会产生电磁波和电磁场,对孕妇危害很大。由此可见,电磁炉会对人体健康造成一定影响。面对这种缺乏确定结论的情况,专家们建议:孕妇应当谨慎地避免接触电磁波。

  • 茄子怎样能炸又硬又脆 茄子怎么才能炸的酥脆

    太高了,外面容易焦糊;太低了,茄子又吸油太多。可以用筷子试一试,看到冒出密集的气泡就差不多了,大约六七成热即可。

  • 刘淑萍名字打分96分 刘萍这个名字怎么样

    文章目录:一、刘淑萍相关名字打分110二、刘淑萍相关名字评分117三、刘淑萍相关名字推荐四、刘淑萍相关名字大全五、其他人还看了一、刘淑萍相关名字打分110刘延涛刘天时刘可禹刘乐妍刘世宝刘赏刘玉琦刘牡丹刘晓莉刘世阳刘爱仁刘子安刘孝平刘范刘浩军刘晓都刘娘府刘燕翌刘淑敏刘晓雷刘棕刘坚刘伶墓刘月英刘思阳刘春军刘晨希刘家泽刘纪同刘羡刘旭辉刘雪燕刘成亮刘永丰刘生堂刘改鱼刘春文刘辉东刘朵儿刘九生刘祖汉刘素青刘红

  • 梦到黑猫(梦到黑猫的征兆)

    从事服务,酒水管理等相关行业者,得此梦不顺,事业多有不利之征兆,求财难以顺利之意。已婚男人梦到黑猫,水木相生,主食伤生财,乃是口齿伶俐之人,事业多有好运之预兆,此乃吉兆。中年男子得此梦不顺,与他人间纠葛之想法,多有不利之征兆也,求财者,切莫有与他人间争执之事,顺其自然,生活可得改善。

  • 仙女果怎样种植才能结果(奇花异果人心果)

    原产墨西哥南部至中美洲,西印度群岛一带。热带美洲、东南亚各国和印度等有商业性栽培。并具有清心润肺药效。人心果种仁含油率达20%,可榨油。压条3个月左右长出第三次根后锯下。以提高果实品质。冬季应结合清园剪除病虫枝枯枝等多余枝条,减少病虫害的发生。或在茎干或大枝基部环割或环剥,以促进花芽分化。不影响果实色泽和可溶性固形物的含量。用低密度聚氯乙烯包裹果实能有效保持贮藏果实的重量和品质。

  • 新手养观赏鱼的技术(饲养观赏鱼的知识)

    我也早就说过了,那个年代没有加热管,那就把鱼缸放在炕上,没有氧气泵,那就使用车胎缓慢放气来为观赏鱼供氧,当时根本不知道什么酸碱度的问题,也能够把燕鱼和斗鱼顺利繁殖出来,那时候的观赏鱼也确实没有现在的观赏鱼娇贵。

  • 2022绍兴柯桥博物馆恢复开放最新消息 绍兴柯桥公园2020

    恢复开放公告根据绍兴市柯桥区新型冠状病毒感染的肺炎疫情联防联控工作领导小组办公室的通知精神,绍兴市柯桥区博物馆定于5月31日起重新向观众开放;舜王庙、印山越国王陵、徐渭墓园等开放文保单位也于同日起同步对外开放。开放期间,博物馆及各开放文保单位将进一步强化预约、限流、错峰等措施。

  • 老式烤牛心(牛沙肝生烤心管)

    说到三分熟,爱吃的都认可农安,很多哥们更是不惜路途遥远驱车前往。农安三分熟,辣椒是灵魂一个正宗地道的农安三分熟,辣椒一定是它最关键的部分。九台热面、德惠烤实蛋农安三分熟汇聚外五县美味精华除了串子,他家的九台热面是一定要推荐的,几乎桌桌必点。而德惠烤实蛋是一绝,是绝对特色的下酒菜。

  • 深圳游玩重点景点(深圳必玩景点攻略)

    每天下午3点,在东部华侨城大剧院有以禅茶文化为主题的大型表演《天禅》。②夏天记得带上风油精,花露水,以防止蚊虫叮咬。与河口南侧香港米埔红树林共同形成一个半封闭的、且与外海直接相连的沿岸水体,并具河口和海湾的性质。该红树林是以红树科植物为主组成的海洋木本植物群落,因树干呈淡红色而得名。

  • 感统训练加盟什么品牌(开发右脑加盟的教育机构排行)

    育儿的焦虑、精细养娃等问题成为家长的核心诉求。根据现实需求,早教中心做定位与策略。然后围绕这个主线,逐步确定自己的核心竞争力。寻找此类品牌做的比较好的企业加盟合作。以宝宝和家长的互动游戏为核心内容,根据不同成长阶段宝宝敏感期的需求,利用主题亲子课程,帮助家长掌握与宝宝之间更有效的沟通方式。