¶ 微信生态全场景能力
通过 Authing,更便捷地纵享微信生态能力!
作为一名微信生态的开发者,在为你的应用实现微信登录能力时,你可能会面临重重困惑:
不同类型应用在微信的创建和配置流程是什么?
作为不同类型应用的开发者,在实现微信登录能力时,有哪些方式可供选择?
各种类型的微信登录方式,要怎么完成配置,怎么实现登录?
微信用户在登录你新开发的应用后,你要如何管理微信生态中的用户身份?
¶ Authing 微信生态功能全景
如果你有上述困惑不知如何下手,Authing 微信生态全场景能力可以助力你实现各个场景的微信登录流程。下表是 Authing 支持的全场景的微信生态操作流程以及对应场景下可供选择的微信登录能力类型。你可以直接点击前往了解所需功能:
| 场景 | 微信生态操作流程 | 微信登录能力类型 |
|---|---|---|
| 移动应用开发 |
| |
| 网站应用开发 |
| |
| 微信公众号开发 |
| |
| 小程序开发 |
| 小程序一键登录 |
¶ Authing 微信生态账号体系
¶ 微信用户账号体系的基本概念
微信提供 OpenID 和 UnionID 作为用户标识。两者区别如下:
| ID 名称 | 说明 |
|---|---|
| OpenID |
|
| UnionID |
|
形象来说,一个独立的微信用户,在微信的不同登录场景下的唯一标识可以用下图展示:

¶ 微信用户在 Authing 的登录流程
在了解了微信用户的账号体系之后,接着你就更易于理解一名微信用户在 Authing 的登录旅程:

首先,你的用户使用 Authing 支持的七种登录方式之一进行登录。登录时 Authing 会判断该用户在你的用户池中是否已经存在。如果已经存在,你的用户将直接通过这种身份源登录到已有账号。
如果不存在,并且你的 Authing 控制台已经对这种身份源开启了「账号绑定」,会根据具体生效的功能逻辑进行判断:
用户成功绑定已有账号,并成功登录。
自动匹配上已有账号(手机 / 邮箱),并完成登录。
未匹配成功 / 绑定不成功,用户不能登录。
¶ Authing 基于微信生态的账号解决方案
根据「用户在 Authing 用户池是否存在」以及「你的微信应用是否已经接入微信开放平台」,针对你的账号处理,有四种场景:

当微信生态的用户通过微信登录方式进入到 Authing 用户池,有四种可能的场景,通过两个维度进行考量:
该用户在微信开放平台是否拥有
UnionID?该用户在 Authing 用户池是否是新用户?
由此分为四种场景:
用户在微信开放平台有
UnionID,是 Authing 用户池中的新用户(第一象限)。
在这种情况下,用户首次通过微信登录已经集成在 Authing 的应用时,将会在你的 Authing 用户池中创建新账号,该用户账号信息中会包含从微信开放平台上获取到的该用户的OpneID和UnionID。用户在微信开放平台无
UnionID,是 Authing 用户池中的新用户(第二象限)。
在这种情况下,用户首次通过微信登录已经集成在 Authing 的应用时,将会在你的 Authing 用户池中创建新账号,该用户账号信息会同时包含从微信接口获得的OpneID,但由于该微信应用并未加入微信开放平台,因此这个账号信息并不包含UnionID。用户在微信开放平台无
UnionID,是 Authing 用户池中的老用户(第三象限)。
在这种情况下,用户通过微信登录已经集成在 Authing 的应用时,由于该账号已存在,因此登录时会通过OpneID和UnionID进行匹配。当同一个微信账号由于其OpneID和UnionID的具备情况不一、而能够在你的用户池中对应多个账号时,将会支持账号选择,选择完成后会完成登录。用户在微信开放平台有
UnionID,是 Authing 用户池中的老用户(第四象限)。
在这种情况下,用户通过微信登录已经集成在 Authing 的应用时,由于该账号已经存在,并且并不会出现不存在UnionID的情况,因此会通过UnionID直接匹配成功并完成登录。
¶ 在什么场景下,Authing 微信生态能够帮到你?
¶ 更便捷地使用微信全场景的登录能力
¶ 更灵活地管理来自微信的用户账号
出于安全以及用户的使用便捷性的考虑,你可能并不希望你的用户使用微信账号在 Authing 登录时每次都重新创建一个账号。Authing 支持通过「字段匹配」和「询问绑定」两种方式,保障你的用户在 Authing 的唯一身份,确保用户账号信息统一。
有关「账号绑定」功能和使用详情,请参阅 账号绑定。