跳到主要内容

设置支付宝 (Native) 社交登录

Logto 官方连接器用于移动设备原生应用中的支付宝社交登录。

提示

在本指南中,我们假设你对 Logto 连接器 (Connectors) 有基本的了解。如果没有,请查看 配置连接器 指南以开始了解。

开始

支付宝 Native 连接器与 Logto SDK 在移动平台上紧密合作。它利用支付宝的 OAuth 2.0 认证工作流程,使支付宝用户能够使用公共支付宝用户资料登录其他应用,而无需经历繁琐的注册过程。

注册支付宝开发者账号

如果你还没有支付宝开发者账号,请注册一个支付宝开发者账号

创建和配置支付宝应用

  1. 使用刚注册的账号登录 支付宝控制台
  2. 在“我的应用” (我的应用) 面板中,转到“网页&移动应用” (网页&移动应用) 标签。
  3. 点击“立即创建” (立即创建) 按钮开始配置你的应用。
  4. 在“应用名称” (应用名称) 中根据命名规范命名你的应用,并上传“应用图标” (应用图标),确保选择“移动应用” (移动应用) 作为“应用类型” (应用类型)。对于构建 iOS 应用,需要一个唯一的“Bundle ID”。此外,Android 应用需要“应用签名” (应用签名) 和“应用包名” (应用包名)。
  5. 完成应用创建后,我们来到概览页面,在这里我们应该点击“添加能力” (添加能力) 来添加“第三方应用授权” (第三方应用授权)、“获取会员信息” (获取会员信息) 和“App 支付宝登录” (App 支付宝登录),然后启用支付宝登录。
  6. 前往 支付宝客户中心,并使用支付宝开发者账号登录。点击顶部栏的“账号中心” (账号中心),然后转到“APPID 绑定” (APPID 绑定),入口可以在侧边栏底部找到。通过输入你在步骤 4 中创建的移动应用的 APPID 来“添加绑定” (添加绑定)。
  7. 点击“App 支付宝登录”的“签约”按钮,并按照指南完成签约过程。完成此步骤后,你应该会发现步骤 5 中刚添加的能力生效。
  8. 返回支付宝开放平台控制台页面,你可以在“开发信息” (开发信息) 部分找到“接口加签方式(密钥/证书)” (接口加签方式(密钥/证书))。点击“设置” (设置) 按钮,你会进入一个设置签名方式的页面。“公钥” (公钥) 是首选的签名模式,并在文本输入框中填写你生成的公钥文件的内容。
  9. 通过点击支付宝控制台页面底部的“设置” (设置) 按钮来设置“授权回调地址” (授权回调地址)。${your_logto_origin}/callback/${connector_id} 是 Logto 核心中使用的默认回调 URI。connector_id 可以在 Logto 管理控制台连接器详细信息页面的顶部栏找到。
  10. 完成所有这些步骤后,返回支付宝控制台页面的右上角,点击“提交审核” (提交审核)。一旦审核通过,你就可以顺利进行支付宝登录流程。

ℹ️ 注意

你可以在本地机器上使用 openssl 生成密钥对,通过在终端中执行以下代码片段。

openssl genrsa -out private.pem 2048
openssl rsa -in private.pem -outform PEM -pubout -out public.pem

在支付宝应用设置网站填写公钥时,你需要移除 public.pem 的头部和尾部,删除所有换行符,并将其余内容粘贴到“公钥”文本输入框中。

设置 Logto 支付宝 Native 连接器设置

  1. 支付宝控制台工作区 中,转到“我的应用” (我的应用) 面板并点击“网页&移动应用” (网页&移动应用) 标签,你可以找到所有应用的 APPID。
  2. 在前一部分的步骤 7 中,你已经生成了一个包含私钥和公钥的密钥对。
  3. 填写 Logto 连接器设置:
    • appId 字段中填写你在步骤 1 中获得的 APPID。
    • privateKey 字段中填写步骤 2 中提到的私钥文件的内容。请确保使用 '\n' 替换所有换行符。你不需要移除私钥文件的头部和尾部。
    • signType 字段中填写 'RSA2',因为我们在“创建和配置支付宝应用”的步骤 7 中选择了 Public key 签名模式。

配置类型

名称类型枚举值
appIdstringN/A
privateKeystringN/A
signTypeenum string'RSA' | 'RSA2'

在你的应用中启用支付宝原生登录

iOS

我们假设你已经在应用中集成了 Logto iOS SDK。在这种情况下,事情非常简单,你甚至不需要阅读支付宝 SDK 文档:

1. 将 LogtoSocialPluginAlipay 添加到你的 Xcode 项目中

添加框架:

添加框架

ℹ️ 注意

插件包括支付宝“极简版 SDK” (极简版 SDK)。导入插件后,你可以直接使用 import AFServiceSDK

2. 将插件添加到你的 LogtoClient 初始化选项中

let logtoClient = LogtoClient(
useConfig: config,
socialPlugins: [LogtoSocialPluginAlipay(callbackScheme: "your-scheme")]
)

其中 callbackScheme 是可以导航到你的应用的 自定义 URL Schemes 之一。

Android

我们假设你已经在应用中集成了 Logto Android SDK。在这种情况下,事情非常简单,你甚至不需要阅读支付宝 SDK 文档:

1. 下载支付宝“极简版 SDK”并将其添加到你的项目中

Logto 第三方社交 SDK 下载支付宝“极简版 SDK” (极简版 SDK) 到你的项目的 app/libs 文件夹:

project-path/app/libs/alipaySdk-15.7.9-20200727142846.aar

2. 将支付宝“极简版 SDK”添加为依赖项

打开你的 build.gradle 文件:

project-path/app/build.gradle

添加依赖项:

dependencies {
// ...
implementation(files("./libs/alipaySdk-15.7.9-20200727142846.aar")) // kotlin-script
// or
implementation files('./libs/alipaySdk-15.7.9-20200727142846.aar') // groovy-script
}

测试支付宝原生连接器

就是这样。别忘了 在登录体验中启用社交连接器

一旦启用了支付宝原生连接器,你可以构建并运行你的应用,看看它是否正常工作。

参考资料