文章转自:https://blog.csdn.net/shenzhou_yh/article/details/104603653

文章目录
appid
定义
获取途径
用途
openid
定义
获取途径
用途
unionid
定义
获取途径
用途
小程序登录流程

最近在开发中涉及到了与小程序的交互需求,所以自己想梳理一下这儿的关系,本文主要讲解appid、openid、unionid的定义、获取途径、以及用途。
appid
定义
小程序唯一凭证,即 AppID,每个小程序都有自己的一个appid

获取途径
可在「微信公众平台 - 设置 - 开发设置」页中获得。(需要已经成为开发者,且帐号没有异常状态)

用途
小程序的 AppID 相当于小程序平台的一个身份证,会在很多场景中使用,比如小程序的登录、授权等

openid
定义
用户在同一个小程序下的唯一表示,即同一个用户在不同的小程序下的openid是不同的

获取途径
调用 auth.code2Session 接口,通过code(登录凭证,调用wx.login获取)+appid+appsecret(小程序密钥,获取方式和appid一样)可以换取openid

用途
用于在开发者系统中标识用户信息

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

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

小程序登录流程
小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系。
以下是小程序登录的时序图:
以上流程可以简单地理解为,小程序和开发者都给了微信平台自己的凭证,由微信平台去建立二者间的关系,并将绑定结果返还给开发者,那以后的业务就直接由开发者处理。微信平台只是起到了牵线搭桥的作用。但是如果涉及到微信的核心业务,还是需要开发者去请求微信提供的api,比如微信支付。
————————————————
版权声明:本文为CSDN博主「shenzhou_yh」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shenzhou_yh/article/details/104603653

聊聊微信小程序开发中的appid、openid、unionid相关推荐

  1. openid会变吗?微信小程序开发中的appid、openid、unionid使用总结

    openid会变吗?微信的appid.openid.unionid使用总结 最近在开发中涉及到了微信账户绑定的openid变化问题,遇有不解,所以自己想梳理一下这几个id的概念以及他们之间的关系. 首 ...

  2. java写微信小程序答辩问题_java微信小程序开发中加密解密算法总结

    详解java微信小程序开发中加密解密算法 一.概述 微信推出了小程序,很多公司的客户端应用不仅具有了APP.H5.还接入了小程序开发.但是,小程序中竟然没有提供Java版本的加密数据解密算法.这着实让 ...

  3. 关于微信小程序开发中遇到的缺少game.json问题的解决

    关于微信小程序开发中遇到的缺少game.json问题的解决 参考文章: (1)关于微信小程序开发中遇到的缺少game.json问题的解决 (2)https://www.cnblogs.com/ygxd ...

  4. 解决微信小程序开发中wxss中不能用本地图片

    微信小程序开发中wxss中不能用本地图片,我们可以用将我们的图片传到服务器上,然后直接引用在线地址.但是当我们没有服务器时,我们可以用"图床",这个具体可以百度.这里我们用第二种方 ...

  5. java写微信小程序答辩问题_微信小程序 开发中遇到问题总结

    微信小程序 开发中遇到问题总结 1.由于小程序wx.request()方法是异步的,在app.js执行ajax后,各分页加载app.js的全局数据时,无法按顺序加载.例: //app.js App({ ...

  6. 微信小程序开发中常见问题及解决方法

    本文章总结小程序开发中常见的错误问题.希望能帮助初学者少走弯路,避免类似的错误. 1:出现"脚本错误或者未正确调用Page()"的错误提示. 解决方法:出现这个错误的原因通常是因为 ...

  7. 微信小程序开发中的二三事之网易云信IMSDK DEMO

    本文由作者邹永胜授权网易云社区发布. 简介 为了更好的展示我们即时通讯SDK强悍的能力,网易云信IM SDK微信小程序DEMO的开发就提上了日程.用产品的话说就是: 云信 IM 小程序 SDK 的能力 ...

  8. 微信小程序页面栈_微信小程序开发中的页面栈及页面路由原理

    摘要:小程序的开发方兴未艾,本文以图解的形式详细剖析了小程序开发中的页面栈及页面路由原理,对于该原理的深入理解有助于开发者更好地理解小程序的开发框架,更好地开发出功能强大的小程序. 微信小程序(以下简 ...

  9. 微信小程序开发中遇到的一些问题

    1.关于Promise对象的打印 上面一个是高版本的基础库打印,下面一个是低版本的基础库打印 2.小程序打开项目控制台警告:VM745:1 [Event] 11 listeners of event ...

最新文章

  1. Session 'app': Error Installing APK
  2. 深度学习pytorch--多层感知机(三)
  3. CSS外边距(margin)重叠及防止方法
  4. rank 开窗函数_over 开窗函数的的理解
  5. email邮件中 内嵌iframe_Python+Selenium执行结果,封装函数,用Python自动发送SMTP邮件...
  6. mysql_install_db: /usr/bin/perl: bad interpreter:
  7. TensorFlow 入门 | iBooker·ApacheCN
  8. 分布式技术追踪 2018年第二期
  9. 用SQL语句操作数据
  10. pyinstaller下载_《快速掌握PyQt5》第二十五章 Pyinstaller打包
  11. 《Java 解惑》笔记(一)
  12. 【图像边缘检测】基于matlab蚁群聚类图像边缘检测【含Matlab源码 728期】
  13. 如何压缩图片大小?这几种图片压缩方法总有一款适合你
  14. 流量星球:实操!利用“拼多多砍价群”日吸100+精准女粉引流技术
  15. 显示器分辨率、显示器大小和视频分辨率的关系
  16. 如何在windows上下载安装zeplin
  17. oracle function
  18. 做好自己安全第一责任人 嘀嗒全面上线安全带智能语音提醒
  19. Pinterest简介
  20. android json解析优秀文章

热门文章

  1. 面试7轮,结果对接的HR离职了……
  2. 【UE4 第一人称射击游戏】35-击中目标时添加准心提示
  3. Django实战项目--爱鲜蜂day1
  4. Labwindows/cvi 2017生成软件安装包只能在win10以上系统安装,NI官方给出原因。
  5. Swoft 踩坑笔记一 - 安装Swoft并启动
  6. Frozen UI使用笔记 - 自带图标导致底部导航部分文字无法显示的解决
  7. 电子元器件的种类与作用
  8. dz.4oq.co index.php,dz论坛Discuz_X3.4最新网站漏洞
  9. 视频加配音用什么软件?视频配音软件大分享
  10. git clone 使用账号密码 windows