KongServiceAuthenticationKit
KongServiceManager
- 可以使用 KongService 使用用户相关功能。
초기화
let kongServiceManager = KongServiceManager()
토큰 초기화
kongServiceManager.set(token:"{Token}")
- 可以通过发放的个人令牌初始化,也可以通过 KongServiceLoginController 接收到的令牌进行初始化。
사용자 정보 가져오기
kongServiceManager.getMe(onComplete: @escaping (Result<GetMeResponse, ERROR>) -> Void)
- 初始化令牌后即可使用。
- 可以根据令牌获取用户信息。
KongServiceLoginController
初始化
let kongServiceLoginController = KongServiceLoginController(seviceType: {serviceType})
kongServiceLoginController.delegate = self
kongServiceLoginController.presentationContextProvider = self
kongServiceLoginController.performRequests()
- 需要指定服务类型才能使用。
- 声明为属性后使用kongServiceLoginController。
- 在方法块中使用时,KongServiceLoginController将被释放。
- delegate
- presentationContextProvider
- performRequest
登录
extension ViewController:KongServiceLoginControllerDelegate{
func kongServiceLoginController(_ controller: KongServiceLoginController, didLoginSuccess accessToken: String) {
accessTokenTextView.text = accessToken
}
func kongServiceLoginControllerLoginCanceled(_ controller: KongServiceLoginController) {
print("취소됨.")
}
}
- 登录成功时将执行kongServiceLoginController(:didLoginSuccess:)。
- 取消登录时将执行kongServiceLoginControllerLoginCanceled(:)。
使用方法
class ViewController: UIViewController {
@IBOutlet weak var accessTokenTextView: UITextView!
var kongServiceManager:KongServiceManager!
var kongServiceLoginController:KongServiceLoginController!
override func viewDidLoad() {
super.viewDidLoad()
kongServiceManager = KongServiceManager()
}
@IBAction func showLoginView(_ sender: UIButton) {
kongServiceLoginController = KongServiceLoginController(serviceType: .kongEco)
kongServiceLoginController.delegate = self
kongServiceLoginController.presentationContextProvider = self
kongServiceLoginController.performRequests()
}
}
extension ViewController:KongServiceLoginControllerDelegate{
func kongServiceLoginController(_ controller: KongServiceLoginController, didLoginSuccess accessToken: String) {
accessTokenTextView.text = accessToken
kongServiceManager.set(token: accessToken)
}
func kongServiceLoginControllerLoginCanceled(_ controller: KongServiceLoginController) {
}
}
extension ViewController:KongServiceLoginControllerPresentationContextProviding{
func presentationAnchor(for controller: KongServiceLoginController) -> KongServiceLoginPresentationAnchor {
return self.view.window!
}
}