我已经成功获取了我的令牌的钥匙串并将其传递给下面显示的AccessTokenAdapter类。 http127.0.0.1:8000/api2/projects/?format=json被传递为projectsURL。
class AccessTokenAdapter: RequestAdapter {
private let accessToken: String
init(accessToken: String) {
self.accessToken = accessToken
}
func adapt(_ urlRequest: URLRequest) throws -> URLRequest {
var urlRequest = urlRequest
// print("JWT \(accessToken)")
urlRequest.setValue("JWT \(accessToken)", forHTTPHeaderField: "Authorization")
return urlRequest
}
}
let sessionManager = SessionManager()
sessionManager.adapter = AccessTokenAdapter(accessToken: self.keychain["token"]!)
sessionManager.request(self.projectsURL, method: .get, encoding: JSONEncoding.default).responseJSON{ response in
switch response.result {
case .success:
print("yey I made it")
case .failure(let error):
print(error)
}
}
然而,从print(error)中看到我的Xcode显示的错误是: Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo={NSErrorFailingURLKey=http://127.0.0.1:8000/api2/projects/?format=json, NSLocalizedDescription=cancelled, NSErrorFailingURLStringKey=http127.0.0.1:8000/api2/projects/?format=json}
有什么想法吗? 使用Alamofire 4.0、Keychain、Xcode 8.1、Swift3进行IT技术开发 使用JWT进行身份验证 使用Postman请求头,键为“Authentication”,值为“JWT(在此生成的令牌)”正常工作