我是Swift的新手。在用戶授權我的應用程序使用其帳戶後,我需要獲取重定向URL的幫助。重定向URL包含我將交換令牌的auth_code。如何在Swift中捕獲重定向URL(在OAuth2的授權步驟之後)
我在圈子裏試圖用NSURLSessionDataDelegate紡:
class MySessionDelegate: NSObject, NSURLSessionDataDelegate {
func URLSession(_: NSURLSession, task: NSURLSessionTask, willPerformHTTPRedirection: NSHTTPURLResponse, newRequest: NSURLRequest, completionHandler: (NSURLRequest!) -> Void) {
println(newRequest)
println("hello")
}
}
,但它不被稱爲:
var authUrl = NSURL(string: "https://www.linkedin.com/uas/oauth2/authorization?response_type=\(responseType)" +
"&client_id=\(apiKey)" +
"&state=\(randomState)" +
"&redirect_uri=\(redirectUrl)")
var session = NSURLSession(configuration: NSURLSessionConfiguration.defaultSessionConfiguration(), delegate: MySessionDelegate(), delegateQueue: nil)
var request = NSMutableURLRequest(URL: authUrl!)
myWebView.loadRequest(request)
我加入一個NSURLProtocol打印請求(我可以看到在控制檯中重定向URL),但這適用於會話中不是最佳的所有請求:
var requestCount = 0
class urlProtocol: NSURLProtocol {
override class func canInitWithRequest(request: NSURLRequest) -> Bool {
println("Request #\(requestCount++): URL = \(request.URL.absoluteString)")
return false
}
}
提前致謝。