Skip to content

创建微信小程序的“身份应用”

与单页 Web 应用使用的 IdP 不同,对于微信小程序,它将身份应用程序(目录)与名为“第三方授权客户端(类型为微信小程序)”的客户端关联,第三方客户端关联后,意味着 IdP 将信任其已完成的身份验证,然后可以实现“身份验证联合”。

提示

“身份验证联合”是指在​​微信身份验证/授权服务器对小程序用户进行身份验证后,客户“SiX统一认证/授权”租户将直接信任已完成的身份验证,而不是通过其身份验证/授权服务器重复验证同一个小程序用户。

将在身份应用程序(目录)中为同一个小程序用户(基于他/她的智能手机)创建一个影子用户。

这带来了一个称为“统一数字身份”的概念,假设相同的 IdP 将在其他应用程序中使用,例如 SPA、原生移动应用程序,同一个用户将在不同应用程序中共享相同的 ID Token。

交互流程

以下是一个或多个微信小程序利用“SiX统一认证/授权”实现身份验证联合的典型流程。

图片

为微信小程序创建 IdP 的步骤

1. 创建身份应用程序

登录“SiX统一认证/授权”控制台

导航到菜单:“认证管理->创建身份应用”,为微信小程序创建身份应用程序。

2. 创建一个微信小程序“第三方授权客户端(类型为微信小程序)”,并将其与身份应用程序关联

登录“SiX统一认证/授权”控制台

导航至菜单:“授权管理->创建第三方授权客户端”,创建类型为微信小程序的“第三方授权客户端”,并将此客户端绑定到“身份应用”。

3. 与微信小程序联合认证

小程序用户通过微信认证/授权服务器认证后,将生成仅微信识别的“授权码”。

如果此小程序用户之前已在 IdP 中注册,您的小程序逻辑可以使用此“授权码”交换由客户 “SiX统一认证/授权” 租户 (IdP) 认证/授权服务器生成的 ID 令牌和访问令牌。

提示

使用 API 文档 中的 API“/federation/wechat/miniapp/profile”端点交换令牌。

如果小程序用户未注册,您的小程序逻辑可以启动用户“注册/绑定”操作。

提示

使用 API 文档 中的 API“/federation/wechat/miniapp/bindUser”端点注册/绑定小程序用户。

示例

微信小程序 IdP 示例代码仓库

six-iot-sample-wechat-miniapp

提示

如果您无法访问仓库,请通过 联系我们 上的联系信息与我们联系

领先的解决方案提供商