测试已测试 | ✓ |
Lang语言 | SwiftSwift |
许可证 | Apache 2 |
发布最新发布 | 2018年6月 |
SPM支持 SPM | ✗ |
由 Jørund B. Fagerjord 和 Atanas Bakalov 维护。
依赖 | |
AeroGearHttp | >= 0 |
JSONWebToken | >= 0 |
基于 aerogear-ios-http 的 OAuth2 客户端。
Swift 4.0
请使用 GitHub 的 Watching 功能来通知 SDK 的新版本。
开始的最简单方法是查看 Hello World 示例应用。
https://github.com/telenordigital/TelenorConnectIosHelloWorld.
实现了 http://docs.telenordigital.com/apis(connect/id/authentication).html 上的 API。
可以从 https://aerogear.org/docs/guides/aerogear-ios-2.X/ 中找到从中分叉的项目文档。
克隆此项目
获取依赖项
该项目使用 CocoaPods 来处理其依赖项。作为先决条件,请安装 CocoaPods 并然后安装 pod。在项目的根目录中运行
pod install
要将库添加到您的项目中,您可以使用 CocoaPods 或在项目中手动安装。以下是说明和操作步骤。
在您的 Podfile
中添加
pod 'TDConnectIosSdk'
然后
pod install
安装您的依赖项
按照以下步骤在 Swift 项目中添加库
git submodule add https://github.com/telenordigital/connect-ios-sdk.git
connect-ios-sdk
文件夹,并将 /TDConnectIosSdk.xcodeproj
拖到 Xcode 的文件导航器中。TDConnectIosSdk.framework
。+
按钮,并选择“New Copy Files Phase”。将此新阶段重命名为“Copy Frameworks”,设置“Destination”为“Frameworks”,并添加 TDConnectIosSdk.framework
。要将SDK设置为保密客户端模式,请在Config
对象中使用可选的初始化参数将isPublicClient
设置为false
。否则,它将成为默认的公共客户端。
保密客户端不会交换授权代码,而是通过回调简单地将此返回给客户端。然后应用程序代码可以将此发送到客户端的客户端端组件。
有关更多信息,请参阅http://docs.telenordigital.com/connect/id/native_apps.html。
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
let config = TelenorConnectConfig(clientId: "telenordigital-connectexample-ios",
redirectUrl: "telenordigital-connectexample-ios://oauth2callback",
useStaging: true,
scopes: ["profile", "openid", "email"],
accountId: "telenor-connect-ios-hello-world",
isPublicClient: false) // this variable needs to be present
let oauth2Module = AccountManager.getAccountBy(config: config)
?? AccountManager.addAccountWith(config: self.config, moduleClass: TelenorConnectOAuth2Module.self)
oauth2Module.requestAuthorizationCode { (authorizationCode: AnyObject?, error: NSError?) in
if (error != nil) {
// handle error
return
}
// use authorizationCode
}
}