設定 Alipay 社交登入 (Set up social login with Alipay) (Native)
官方 Logto 連接器,適用於行動裝置原生應用的 Alipay 社交登入。
本指南假設你已對 Logto 連接器 (Connectors) 有基本了解。若不熟悉,請參閱 連接器 (Connectors) 指南以開始使用。
開始使用
Alipay Native 連接器與 Logto SDK 在行動平台上緊密配合。它利用 Alipay 的 OAuth 2.0 驗證流程,讓 Alipay 使用者能以公開的 Alipay 使用者資料登入其他應用程式,無需繁瑣的註冊流程。
註冊 Alipay 開發者帳號
註冊 Alipay 開發者帳號(如果你還沒有的話)。
建立並設定 Alipay 應用程式
- 使用剛註冊的帳號登入 Alipay 控制台。
- 進入「我的應用」(我的应用) 面板中的「網頁 & 行動應用」(网页&移动应用) 分頁。
- 點擊「立即創建」(立即创建) 按鈕開始設定你的應用程式。
- 在「應用名稱」(应用名称) 欄位依命名規範命名,並上傳「應用圖標」(应用图标),確保「應用類型」(应用类型) 選擇「行動應用」(移动应用)。若開發 iOS App,需填寫唯一的「Bundle ID」;Android App 則需填寫「應用簽名」(应用签名) 與「應用包名」(应用包名)。
- 完成應用建立後,進入總覽頁,點擊「添加能力」(添加能力),新增「第三方應用授權」(第三方应用授权)、「獲取會員資訊」(获取会员信息) 及「App Alipay 登入」(App 支付宝登录),以啟用 Alipay 登入功能。
- 前往 Alipay 客戶中心,使用開發者帳號登入。點擊頂部「帳號中心」(账号中心),進入側邊欄底部的「APPID 綁定」(APPID 绑定)。點擊「添加綁定」(添加绑定),輸入你在步驟 4 創建的行動應用 APPID。
- 點擊「App Alipay 登入」的「簽約」(Sign) 按鈕,依指引完成簽約流程。完成後,步驟 5 新增的能力將生效。
- 回到 Alipay 開放平台控制台頁面,在「開發資訊」(开发信息) 區塊找到「介面加簽方式(密鑰/證書)」(接口加签方式(密钥/证书))。點擊「設定」(设置) 按鈕,進入加簽方式設定頁面。建議選擇「公鑰」(公钥) 模式,並將你產生的公鑰檔案內容填入文字框。
- 在 Alipay 控制台頁面底部,點擊「設定」(设置) 按鈕,設定「授權回調地址」(授权回调地址)。
${your_logto_origin}/callback/${connector_id}是 Logto 預設的 redirect 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 的檔頭與檔尾,刪除所有換行符號,將剩餘內容貼入「公鑰」(public key) 輸入框。
設定 Logto Alipay Native 連接器
- 在 Alipay 控制台工作區 的「我的應用」(我的应用) 面板,點擊「網頁 & 行動應用」(网页&移动应用) 分頁,可查詢所有應用的 APPID。
- 在前述步驟 7,你已產生一組包含私鑰與公鑰的金鑰對。
- 填寫 Logto 連接器設定:
appId欄位填入步驟 1 取得的 APPID。privateKey欄位填入步驟 2 產生的私鑰檔案內容。請務必將所有換行符號替換為 '\n',不需移除檔頭與檔尾。signType欄位填入 'RSA2',因步驟 7 選擇了公鑰簽名模式。
設定類型
| Name | Type | Enum values |
|---|---|---|
| appId | string | N/A |
| privateKey | string | N/A |
| signType | enum string | 'RSA' / 'RSA2' |
在你的應用啟用 Alipay 原生登入
iOS
假設你已在應用中整合 Logto iOS SDK。這樣一來,流程非常簡單,甚至不需閱讀 Alipay SDK 文件:
1. 將 LogtoSocialPluginAlipay 加入 Xcode 專案
新增 framework:
此插件已內建 Alipay「極簡版 SDK」(极简版 SDK)。匯入插件後可直接使用 import AFServiceSDK。
2. 在 LogtoClient 初始化選項中加入插件
let logtoClient = LogtoClient(
useConfig: config,
socialPlugins: [LogtoSocialPluginAlipay(callbackScheme: "your-scheme")]
)
其中 callbackScheme 為 自訂 URL Scheme 之一,可導向你的應用。
Android
假設你已在應用中整合 Logto Android SDK。這樣一來,流程非常簡單,甚至不需閱讀 Alipay SDK 文件:
1. 下載 Alipay「極簡版 SDK」並加入專案
從 Logto 第三方社交 SDKs 下載 Alipay「極簡版 SDK」(极简版 SDK) 至專案的 app/libs 資料夾:
project-path/app/libs/alipaySdk-15.7.9-20200727142846.aar
2. 將 Alipay「極簡版 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
}
測試 Alipay 原生連接器
就是這麼簡單。別忘了 在註冊與登入中啟用社交連接器。
啟用 Alipay 原生連接器後,你可以建置並執行應用,測試功能是否正常。
參考資料
Alipay 文件 - 接入準備 - 如何創建應用Alipay 文件 - 網頁 & 行動應用 - 創建應用