跳到主要内容

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

Logto 官方为移动端原生应用提供的支付宝社交登录连接器。

提示:

本指南假设你对 Logto 连接器 (Connectors) 有基本的了解。对于不熟悉的人,请参考 连接器 (Connectors) 指南以开始了解。

入门指南

支付宝 Native 连接器与 Logto SDK 在移动平台上紧密配合。它利用支付宝的 OAuth 2.0 认证 (Authentication) 流程,让支付宝用户无需繁琐注册流程即可使用支付宝公开用户资料登录其他应用。

注册支付宝开发者账号

注册支付宝开发者账号(如果你还没有的话)。

创建并配置支付宝应用

  1. 使用刚注册的账号登录 支付宝开放平台控制台
  2. 在“我的应用”面板中,进入“网页&移动应用”标签页。
  3. 点击“立即创建”按钮,开始配置你的应用。
  4. 在“应用名称”中为你的应用命名(遵循命名规范),并上传“应用图标”,确保“应用类型”选择为“移动应用”。如果是 iOS 应用,需要填写唯一的“Bundle ID”;Android 应用则需要“应用签名”和“应用包名”。
  5. 创建应用后,进入概览页面,点击“添加能力”,添加“第三方应用授权”、“获取会员信息”和“App 支付宝登录”,以启用支付宝登录功能。
  6. 前往 支付宝商家中心,用开发者账号登录。点击顶部栏的“账号中心”,进入侧边栏底部的“APPID 绑定”,输入第 4 步创建的移动应用 APPID,点击“添加绑定”。
  7. 在“App 支付宝登录”处点击“签约”按钮,按照指引完成签约流程。完成后,你会发现第 5 步添加的能力已生效。
  8. 回到支付宝开放平台控制台页面,在“开发信息”部分找到“接口加签方式(密钥/证书)”。点击“设置”按钮,进入签名方式设置页面。推荐选择“公钥”模式,并将你生成的公钥文件内容填入文本框。
  9. 在支付宝控制台页面底部,点击“设置”按钮,设置“授权回调地址”。${your_logto_origin}/callback/${connector_id} 是 Logto 核心默认的回调地址。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 步选择了 公钥 签名模式。

配置类型

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

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

iOS

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

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

添加框架:

添加框架
备注:

该插件已包含支付宝“极简版 SDK”。导入插件后可直接使用 import AFServiceSDK

2. 在 LogtoClient 初始化选项中添加插件

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

其中 callbackScheme自定义 URL Scheme 之一,用于跳转回你的应用。

Android

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

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

Logto 第三方社交 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
// 或
implementation files('./libs/alipaySdk-15.7.9-20200727142846.aar') // groovy-script
}

测试支付宝原生连接器

就是这样。别忘了在 注册和登录中启用社交连接器

启用支付宝原生连接器后,你可以构建并运行你的应用,测试其是否正常工作。

参考资料

支付宝文档 - 接入准备 - 如何创建应用 支付宝文档 - 网页&移动应用 - 创建应用