php手机注册和微信登录统一,微信登录和公众号授权登录开发逻辑详解
UnionId和OpenId
微信登录最重要的两个返回信息,一个是UnionId,一个是OpenId。两者之间有着必然的联系。
首先,先来理一下微信开放平台的架构。开发微信登录,必须有一个开放平台账号(公众号授权可以不用,后面会讲到)。开放平台下面可以申请多个应用或绑定微信公众号(必须为服务号)。
如下图所示
APP登录:申请移动应用(做了微信支付的都知道怎么回事了哈);
电脑端登录:申请网页应用(必须有域名,还得填表什么的,具体就不说了);
微信公众号授权:主要场景是,在微信打开某个链接,然后用户统一授权给公众号,表示可以获取用户的微信信息。
开放平台和各种申请的应用或者公众号的关系,如下图所示(别问我为什么这都还要用图表示)。
可以把这想象成是订单主表和订单明细的关系(一对多)。
这跟OpenId和UnionId有什么关系呢?
OpenId,一个微信账户对应每一个应用或者微信公众号,有各自的OpenId,用来标记,这个微信账户,和这个应用,或者微信公众号的关系。
看图:
图上所示的应用和微信公众号都在同一个开放平台下。
但是这个关系即使是应用不在同一个微信开放平台下仍然成立。
UnionId,可以把UnionId看成是微信用户和微信开放平台的关系。
看图:
总结起来就一句话,一个微信和不同应用以OpenId联系,与开放平台下以UnionId联系。
php手机注册和微信登录统一,微信登录和公众号授权登录开发逻辑详解相关推荐
- 微信登录(微信公众号授权)的开发(详解)
1.UnionId和OpenId 微信登录最重要的两个返回信息,一个是UnionId,一个是OpenId.两者之间有着必然的联系. 首先,先来理一下微信开放平台的架构.开发微信登录,必须有一个开放平台 ...
- 微信登录 sdk 服务器,微信登录(微信公众号授权)的开发(详解)——两三行代码的事,何必呢...
新版重构的SDK已经开始在写了,具体的使用方法参考 新版重构的SDK已经开始在写了,具体的使用方法参考 新版重构的SDK已经开始在写了,具体的使用方法参考 新版重构的SDK已经开始在写了,具体的使用方 ...
- 微信公众号授权登录(asp.net + angular)
微信是时下最火的,上面有数以亿计的用户,如果能接入微信将大大减低注册门槛,当然,接入微信登录是有门槛的.微信登录一般有两个,一个是微信开放平台授权登录,一个是微信公众号授权登录,两者都需要认证才可以继 ...
- vue移动端项目微信公众号授权登录
前言 在我们做移动端项目时, 很多功能是以登录后才能进行后续的操作, 并且许多pc端的网页都有微信扫码登录功能, 为了做到pc与移动端统一, 往往移动端项目需要添加微信登录功能, 那么为什么手机端不能 ...
- 【SpringBoot学习】46、SpringBoot 集成 Uniapp 实现微信公众号授权登录
文章目录 一.公众号环境搭建 二.Spring Boot 集成微信公众号 1.application.yml 微信配置 2.控制层接口 三.Uniapp 实现授权登录 一.公众号环境搭建 本篇文章使用 ...
- RuoYi-App移动版(uni-app)微信公众号授权登录
前言 略 uni-app 未提供微信公众号授权登录 uni.login是一个客户端API,统一封装了各个平台的各种常见的登录方式,包括App手机号一键登陆.三方登录(微信.微博.QQ.Apple.go ...
- 基于Spring Boo微信公众号授权登录获取用户信息(附带完整源码)
简介 微信公众号开发中,必不少可少的一环:公众号授权登录.获取微信用户信息. 本地完整运行环境准备 内网渗透=>生成本地指定端口映射的外网域名 传送门:内网渗透工具Natapp使用详解 域名生成 ...
- 微信网页扫码登录与微信公众号授权登录的区别
最近着手开发了微信网页扫码登录和公众号授权登录收获颇丰,两者的开发很类似.以下是我个人摸索过程中发现的两者的异同: 两者都可以通过微信客户端扫码授权的方式,让第三方页面获得微信用户的一些基本信息(昵称 ...
- Java在Web端微信公众号授权登录
Java在Web端微信公众号授权登录 1.需要在微信开发平台配置 url:是自己服务中的微信需要推给你的地址(需要使用二级域名,可以去添加链接描述)购买9块钱1个月使用权或者白嫖都可 token 这个 ...
- H5 微信公众号 授权登录 前后端分离篇(资料准备+前端01)
实现微信公众号授权登录,很简单,但是注意的地方要细心,小伙伴们跟着我的思路一起实现吧! 文章目录 一.帐号申请 1. 正式账号 2. 测试帐号 二.微信文档 2.1. 文档主页 2.2. 授权流程 2 ...
最新文章
- 火狐访问HTTPS网站显示连接不安全的解决方法
- simulink传递函数_又见Simulink库模型之(6):查找表
- java com dll_通过COM组件方式实现java调用C#写的DLL文件
- 三层架构介绍和MVC设计模型介绍
- 第三次学JAVA再学不好就吃翔(part95)--Collections工具类
- 【linux】linux系统中常见配置文件及目录说明
- Asp.Net回车键触发Button的OnClick事件解决方案
- 2019年Java程序设计讲课笔记目录
- [转载] python oct_Python oct()
- 欧拉工程第60题:Prime pair sets
- 【麦子学院 彭亮 机器学习】3.2决策树应用(准备篇)
- Vue使用iconfont图标
- 从BIO到NIO的网络通信
- 存储容量及相关计算单位
- 告别“广告依赖症”,知乎视频商业化的路难走?
- C++中map的遍历
- 淘宝系App图片为什么在北京电信网络加载这么慢?
- 国际主要的ESD标准介绍
- 非线性有限元:基本理论与算法及基于Python、Fortran程序实现与案例分析实践技术
- Halcon实战记录之三《模板制作--两点定位》
热门文章
- java处理paypal支付
- 境外游导航App选择
- 小程序input聚焦事件_详解小程序input框失焦事件在提交事件前的处理
- 网络视频服务器系统,网络视频直播系统,搭建直播服务器环境
- svn报错E175002
- Matlab基础绘图(一)-plot()
- postgres 命令行建数据库表_PostgreSQL 创建表格
- r语言 linux plot,详解R语言plot函数参数合集
- linux c语言round函数,c语言round函数使用问题
- java验证码短信发送_java发送短信验证码