设置 Alipay 社交登录 (Web)
Logto 官方的 Alipay 社交登录连接器,适用于 Web 应用。
提示:
本指南假设你对 Logto 连接器 (Connectors) 有基本的了解。对于不熟悉的人,请参考 连接器 (Connectors) 指南以开始了解。
开始使用
Alipay Web 连接器专为桌面 Web 应用程序设计。它利用 Alipay 的 OAuth 2.0 认证 (Authentication) 工作流程,使 Alipay 用户能够使用公共 Alipay 用户资料登录其他应用,而无需经历繁琐的注册过程。
注册 Alipay 开发者账号
注册一个 Alipay 开发者账号 如果你还没有的话。
创建和配置 Alipay 应用
- 使用你刚注册的账号登录 Alipay 控制台。
- 在“我的应用” (我的应用) 面板中,进入“网页&移动应用” (网页&移动应用) 标签。
- 点击“立即创建” (立即创建) 按钮开始配置你的应用。
- 在“应用名称” (应用名称) 中根据命名规范命名你的应用,并上传你的“应用图标” (应用图标),确保选择“网页应用” (网页应用) 作为“应用类型” (应用类型)。
- 完成应用创建后,进入概览页面,我们应该点击“添加能力” (添加能力) 来添加“第三方应用授权” (第三方应用授权)、“获取会员信息” (获取会员信息) 和“App 支付宝登录” (App 支付宝登录),然后启用 Alipay 登录。
- 进入 Alipay 客户中心,并使用 Alipay 开发者账号登录。点击顶部栏的“账号中心” (账号中心),进入“APPID 绑定” (APPID 绑定),入口在侧边栏底部。通过输入你在步骤 4 中创建的网页应用的 APPID 来“添加绑定” (添加绑定)。
- 点击“App 支付宝登录”的“签约”按钮,并按照指南完成签约过程。完成此步骤后,你应该会发现步骤 5 中添加的能力生效。
- 返回 Alipay 开放平台控制台页面,你可以在“开发信息” (开发信息) 部分找到“接口加签方式(密钥/证书)” (接口加签方式(密钥/证书))。点击“设置” (设置) 按钮,你会进入一个设置签名方式的页面。“公钥” (公钥) 是首选的签名模式,并在文本输入框中填写你生成的公钥文件的内容。
- 通过点击 Alipay 控制台页面底部的“设置” (设置) 按钮设置“授权回调地址” (授权回调地址)。
${your_logto_origin}/callback/${connector_id}
是 Logto 核心中使用的默认回调 URI。connector_id
可以在 Logto 管理控制台连接器详情页面的顶部栏找到。 - 完成所有这些步骤后,返回 Alipay 控制台页面的右上角,点击“提交审核” (提交审核)。一旦审核通过,你就可以顺利进行 Alipay 登录流程。
备注:
你可以在本地机器上使用 openssl 生成密钥对,通过在终端中执行以下代码片段。
openssl genrsa -out private.pem 2048
openssl rsa -in private.pem -outform PEM -pubout -out public.pem
在 Alipay 应用设置网站上填写公钥时,你需要移除 public.pem
的头部和尾部,删除所有换行符,并将其余内容粘贴到“公钥”文本输入框中。
设置 Logto Alipay Web 连接器设置
- 在 Alipay 控制台工作区 中,进入“我的应用” (我的应用) 面板,点击“网页&移动应用” (网页&移动应用) 标签,你可以找到所有应用的 APPID。
- 在前一部分的步骤 7 中,你已经生成了一个包含私钥和公钥的密钥对。
- 填写 Logto 连接器设置:
- 在
appId
字段中填写你在步骤 1 中获得的 APPID。 - 在
privateKey
字段中填写步骤 2 中提到的私钥文件的内容。请确保使用 '\n' 替换所有换行符,并且不要移除私钥文件中的头部和尾部。 - 在
signType
字段中填写 'RSA2',因为我们在“创建和配置 Alipay 应用”步骤 7 中选择了Public key
签名模式。 - 在
charset
字段中填写 'gbk' 或 'utf8'。你可以将此字段留空,因为它是可选的。默认值设置为 'utf8'。 - 在
scope
字段中填写 'auth_base' 或 'auth_user'。你可以将此字段留空,因为它是可选的。默认值设置为 'auth_user'。你可以查看不同值之间的区别。
- 在
配置类型
名称 | 类型 | 枚举值 |
---|---|---|
appId | string | N/A |
privateKey | string | N/A |
signType | enum string | 'RSA' | 'RSA2' |
charset | enum string (可选) | 'gbk' | 'utf8' | undefined |
scope | enum string (可选) | 'auth_user' | 'auth_base' |
测试 Alipay Web 连接器
就是这样。别忘了在登录体验中启用社交连接器。
一旦启用了 Alipay Web 连接器,你可以构建并运行你的 Web 应用,看看它是否正常工作。