【发布时间】:2016-01-13 08:27:31
【问题描述】:
我在 iOS 9 中使用 Alamofire V3,我正在做一个简单的请求,如 README 中所述
Alamofire.request(.GET, WS_URL)
.authenticate(user: user, password: password)
.validate(statusCode: 200..<300)
.responseJSON { response in
...
}
在第一次有效请求后,我用无效的凭据更改了凭据,请求成功,但它应该失败。
如何使以前的凭据无效?
UPDATE
我找到了一个可能的解决方案,但我不确定它是不是最好的。
let plainString = "\(user):\(password)
let plainData = plainString.dataUsingEncoding(NSUTF8StringEncoding)
let base64String = plainData?.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
let headers = ["Authorization": "Basic " + base64String!]
Alamofire.request(.GET, urlRequest, headers: headers)
.authenticate(usingCredential: self.credential)
.responseJSON{ responseJson in
...
}
谢谢
【问题讨论】:
-
你是怎么解决的?
-
如我的评论中所写。更多解释请阅读:github.com/Alamofire/Alamofire#http-basic-authentication:根据您的服务器实现,授权标头也可能是合适的
标签: alamofire