스위프트로 docomo의 OAuth SDK for iOS를 시도했습니다.두 번째
첫 번째 코드에 인증에 필요한 매개 변수를 썼어요.
텍스트 필드를 준비했습니다. 거기에 적힌 인자를 사용하여 인증할 수 있습니다.
ViewController.swift
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
//OAuthインスタンス用変数
var oAuth: OAuth!
/*
OAuth認証に必要なパラメータと入力用TextField
*/
//クライアントID
var clientID = ""
@IBOutlet weak var clientIDTextField: UITextField!
//クライアントシークレット
var secret = ""
@IBOutlet weak var secretTextField: UITextField!
//スコープ
var scope = ""
@IBOutlet weak var scopeTextField: UITextField!
//リダイレクトURI
var redirectUri = ""
@IBOutlet weak var redirectUrlTextField: UITextField!
/*
OAuth認証成功時に取得できる情報
*/
//アクセストークン
var access_token = ""
//リフレッシュトークン
var refreshtoken = ""
//トークンの有効期限
var expires_in = ""
//トークンタイプ
var token_type = ""
/*
OAuth認証失敗時に取得できる情報
*/
//エラーコード
var error_code: Int = 0
//エラーメッセージ
var rror_message = ""
//例外オブジェクト
var cause: NSError!
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
//改行ボタンが押されたらキーボードを閉じる
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
//認証ボタンが押された時の処理
@IBAction func clickOauthButton(sender: AnyObject) {
//各TextFieldに入力されたパラメータを取得
clientID = clientIDTextField.text
secret = secretTextField.text
scope = scopeTextField.text
redirectUri = redirectUrlTextField.text
//OAuthインスタンス生成
oAuth = OAuth()
//OAuth認証に必要なパラメータを設定
oAuth.setClientID(clientID)
oAuth.setSecret(secret)
oAuth.setScope(scope)
oAuth.setRedirectUri(redirectUri)
//OAuth 認証を開始
oAuth.startAuth(self, onComplete: { (token) -> Void in
//アクセストークンの取得
self.access_token = token.accessToken
//リフレッシュトークンの取得
self.refreshtoken = token.refreshToken
//トークンの有効期限の取得
self.expires_in = token.expiresIn
//トークンタイプの取得
self.token_type = token.tokenType
//認証結果アラート表示
self.oAuthSucsses()
/*
//取得情報出力
println("認証成功!")
println("access_token: \(access_token)")
println("refreshtoken: \(refreshtoken)")
println("expires_in: \(expires_in)")
println("token_type: \(token_type)")
println("scope: \(scope)")
*/
}) { (error) -> Void in
//エラーコードの取得
self.error_code = error.code
//エラーメッセージの取得
self.rror_message = error.localizedDescription
//例外オブジェクトの取得
self.cause = error.cause
//認証結果アラート表示
self.oAuthNotSucsees()
/*
//取得情報出力
println("認証失敗!")
println("error_code: \(self.error_code)")
println("rror_messagself.e: \(self.rror_message)")
println("cause: \(self.cause)")
*/
}
}
/*
認証結果アラート生成
*/
//認証成功時
func oAuthSucsses() {
let alert = UIAlertController(title: "認証成功!", message: "認証に成功しました。", preferredStyle: UIAlertControllerStyle.Alert)
let okAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil)
alert.addAction(okAction)
presentViewController(alert, animated: true, completion: nil)
}
//認証失敗時
func oAuthNotSucsees(){
let alert = UIAlertController(title: "認証失敗!", message: "認証に失敗しました。", preferredStyle: UIAlertControllerStyle.Alert)
let okAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil)
alert.addAction(okAction)
presentViewController(alert, animated: true, completion: nil)
}
}
이음매가 격렬한 흙을 놓아주십시오.
만약 이곳의 코드가 비교적 좋다고 지적해 주신다면 정말 감사합니다.
Reference
이 문제에 관하여(스위프트로 docomo의 OAuth SDK for iOS를 시도했습니다.두 번째), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tkinjo1/items/ca053c8dceae72a02373텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)