跳转到主要内容

Web App 集成

本页介绍 Unico 旅程的工作方式,以及可用于将其集成到应用程序中的集成模型。

旅程是用户为完成身份验证而经历的一系列步骤。例如:拍摄证件照片和进行人脸采集(活体检测)。

Unico 负责管理整个体验。集成所需的工作量极小:旅程通过 CreateProcess 创建,用户被引导至该旅程,并在最后接收结果。中间发生的一切(界面、提示、校验)都已构建完成并由 Unico 维护。

选择你的集成方式
  • Web SDKunico-webframe 包):当你的后端已经控制身份验证流程,且只需要客户端的采集组件时使用。它将 base64 + 加密的 JWT 直接返回到你的回调中;由你管理 API 调用。
  • Web App Integrationidpay-b2b-sdk 包):当你希望由 Unico 编排整个旅程(多步骤流程、证件采集 + 活体检测)时使用。idpay-b2b-sdk 包为嵌入式 Journeys SDK(iFrame)模型提供支持;直接访问(重定向)模型则无需任何库。

两种集成模型

每个客户的需求各不相同。Unico 提供两种模型来引导用户进入旅程。

模型适用于
直接访问已使用 WebView 的移动应用,或旅程可以在主页面之外进行的 Web 流程
Journeys SDK需要集成、无缝体验,并希望让用户保持在同一环境中的 Web 应用

用户被重定向到由 Unico 托管的链接,旅程在该处进行。完成后,用户会返回到创建流程时定义的 URL(callbackUri 参数)。

这是最易于采用的方式:无需安装任何库,并且在旅程不需要发生在应用程序自身页面内时效果良好。另一方面,将用户带离客户的环境往往会带来更多摩擦,从而导致更高的流失率。

创建流程后,API 响应中会包含由 Unico 托管的旅程 URL。有两种常见的方式可将用户引导至该 URL:

  • 标准重定向。 用户被直接重定向到旅程 URL。完成后,Unico 会将其重定向回创建流程时定义的 callbackUri
  • 使用 window.open() 打开新标签页。 旅程在新的浏览器标签页中打开,使用户保持在独立的上下文中。在这种情况下,建议监听 URL 变化为 callbackUri,并在流程完成后关闭标签页。有关该 API 的详细信息,请参阅 MDN 文档

直接访问集成流程

在移动应用中,通常使用 WebView 直接打开旅程,无需额外的重定向。在这种情况下,callbackUri 还接受 deeplink,从而允许旅程完成后触发打开原生应用中的特定界面。只需将 deeplink 配置为返回目标,操作系统就会负责将用户路由到正确的位置。

WebView 集成流程

进行采集测试时请勿打开 DevTools

Unico 应用程序使用 Capture SDK(unico-webframe)进行人脸采集,它会将打开的 DevTools 检测为潜在的欺诈信号并阻止提交。运行端到端采集测试前请关闭 DevTools。

不受支持的集成

本文档中描述的模型(直接访问和 Journeys SDK)是 Unico 官方支持的唯一集成方式。偏离这些标准的集成可能导致意外行为、安全流程失败和旅程中断,并且不在 Unico 支持范围之内。

一些不受支持的方式示例:

  • 在移动应用中将 SDK 嵌入 WebView 内。在这些情况下,正确的方式是使用直接访问模型,直接在 WebView 中打开旅程链接,而不涉及 Journeys SDK。
  • 不经过 Journeys SDK,直接通过 HTML <iframe> 标签加载 iFrame。iFrame 是 SDK 的内部实现细节,不得手动实例化。正确的方式是使用 Journeys SDK,由它安全地、在预期标准范围内管理 iFrame 的生命周期。

如果对某种方式是否在受支持的标准范围内有任何疑问,请在继续实施之前查阅文档或联系支持团队。