如何通过 Facebook 登录使用 Alamofire?
How to use Alamofire with Facebook Login?
从 Facebook 检索访问令牌后,我尝试使用该令牌连接 OAth2 服务器。当我尝试连接时,我不断收到 401 Unauthorized 访问代码,但是当后端开发人员连接时,它可以正常工作。
这是来自后端开发人员的 Curl:
curl -X POST -H "Content-Type: application/json" -d '{
"client_id" : "1",
"access_token" : "EAARDjZAZBQnEEBAAxLZAE08npCWTeXUTQIHnP5rKx4poRZAlBAhL7UW6RJIUhZBmomIaIoNm97ERmVi0g2Ql5rfLZBckWf31hnOV6TCHkI8Tu4IBNknFBMsbaI8NvPl7aOp2qHhaAKaHx4UkwGJ9Eo8sZAaJhN7v0M7aCwNpUE3HgZDZD"
}' "http://localhost:3000/auth/facebook"
这是我的 alamo fire 代码:
func facebookAPILogin (fbAccessToken: String, completionHandler: (ErrorType?) -> ()) {
let headers = [
"Content-Type": "application/json"
]
let parameters: [String: AnyObject] = [
"client_id" : "1",
"access_token" : fbAccessToken
]
Alamofire.request(.POST, "\(baseTestOathURL)facebook", encoding: .JSON, headers: headers)
.validate()
.responseJSON { response in
switch response.result {
case .Success:
print("Validation Successful")
guard let value = response.result.value else {
completionHandler(response.result.error)
return
}
let swiftyJsonVar = JSON(value)
print("This is the FaceBook response \(swiftyJsonVar)")
completionHandler(nil)
case .Failure(let error):
print("Sorry there was an error: \(error)")
completionHandler(error)
return
}
}
}
我不知道为什么我无法连接,我们将不胜感激。
您忘记传递参数了。
试试这个:
Alamofire.request(.POST, "\(baseTestOathURL)facebook", parameters: parameters, encoding: .JSON, headers: headers)
从 Facebook 检索访问令牌后,我尝试使用该令牌连接 OAth2 服务器。当我尝试连接时,我不断收到 401 Unauthorized 访问代码,但是当后端开发人员连接时,它可以正常工作。 这是来自后端开发人员的 Curl:
curl -X POST -H "Content-Type: application/json" -d '{
"client_id" : "1",
"access_token" : "EAARDjZAZBQnEEBAAxLZAE08npCWTeXUTQIHnP5rKx4poRZAlBAhL7UW6RJIUhZBmomIaIoNm97ERmVi0g2Ql5rfLZBckWf31hnOV6TCHkI8Tu4IBNknFBMsbaI8NvPl7aOp2qHhaAKaHx4UkwGJ9Eo8sZAaJhN7v0M7aCwNpUE3HgZDZD"
}' "http://localhost:3000/auth/facebook"
这是我的 alamo fire 代码:
func facebookAPILogin (fbAccessToken: String, completionHandler: (ErrorType?) -> ()) {
let headers = [
"Content-Type": "application/json"
]
let parameters: [String: AnyObject] = [
"client_id" : "1",
"access_token" : fbAccessToken
]
Alamofire.request(.POST, "\(baseTestOathURL)facebook", encoding: .JSON, headers: headers)
.validate()
.responseJSON { response in
switch response.result {
case .Success:
print("Validation Successful")
guard let value = response.result.value else {
completionHandler(response.result.error)
return
}
let swiftyJsonVar = JSON(value)
print("This is the FaceBook response \(swiftyJsonVar)")
completionHandler(nil)
case .Failure(let error):
print("Sorry there was an error: \(error)")
completionHandler(error)
return
}
}
}
我不知道为什么我无法连接,我们将不胜感激。
您忘记传递参数了。
试试这个:
Alamofire.request(.POST, "\(baseTestOathURL)facebook", parameters: parameters, encoding: .JSON, headers: headers)