¶ 飞书登录
¶ 准备工作
企业自建应用 Authing 控制台以及飞书控制台配置请参阅 接入飞书企业自建应用移动应用登录 (opens new window)。
应用商店应用 Authing 控制台以及飞书控制台配置请参阅 接入飞书应用商店应用移动应用登录 (opens new window)。
¶ 集成飞书登录步骤
¶ 第一步:添加飞书登录组件依赖
在 swift package 搜索栏输入:https://github.com/Authing/authing-binary 。
Authing-binary (opens new window) 依赖于 Guard-iOS SDK (opens new window)。
依赖规则选择 Up to Next Major Version 1.0.0 。
勾选 LarkLogin 。
¶ 第二步:修改项目配置
前往 飞书开发平台 (opens new window) 下载 iOS LarkSS0Demo。
将 LarkSSO 目录中的 LarkSSO.bundle 拖入工程项目目录下,勾选 Copy items if needed 。
配置跳转 Scheme: LSApplicationQueriesSchemes Key 下添加 lark 。
配置飞书回跳 URL:URL types Key 下 添加注册时申请到到 app_id (例如:clia0988c0addf81013),注意需要去掉 app_id 中的下划线。
¶ 第三步:初始化飞书登录
- 在 AppDelegate 或 SceneDelegate 中加入 import Guard 和 import LarkLogin 。
- Authing.start 需要传入 Authing 的应用 ID 。
- LarkLogin.setupLark 需要传入飞书开放平台发放的 AppId 以及 Scheme 。
import Guard
import LarkLogin
Authing.start(<#AUTHING_APP_ID#>)
LarkLogin.setupLark(<#Lark App ID#>, Scheme: <#Lark Scheme#>)
¶ 第四步:添加飞书登录回调
飞书返回应用后,如果使用了 SceneDelegate,则需要在 SceneDelegate.swift 里面重载下面的函数:
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
if let url = URLContexts.first?.url {
_ = LarkLogin.handleUrl(url: url)
}
}
如果未使用 SceneDelegate,则需要在 AppDelegate 里面重载:
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
return LarkLogin.handleUrl(url: url)
}
¶ 第五步:发起飞书授权
推荐通过我们提供的语义化 Hyper Component,只需要在 xib 里面放置一个:
LarkLoginButton
如果不想使用我们内置的按钮,则可以在自己按钮的点击事件里面调用 Authing 飞书登录 API:
LarkLogin.login(viewController: <#呈现视图的 ViewController#>) { (code, message, userInfo) in
if (code == 200) {
// userInfo:用户信息
}
}