Alamofire V3如何使凭证无效

时间:2016-01-13 08:27:31

标签: alamofire

我正在使用Alamofire V3和iOS 9,我正在做一个简单的请求,如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
            ...
            }

由于

3 个答案:

答案 0 :(得分:1)

正如documentation

所述

根据您的服务器实施,授权标头也可能是合适的

答案 1 :(得分:0)

假设您的终端没问题且他们获得了成功回复......

let定义一个常量,一旦设置就无法修改。

var定义了一个可以的变量。

尝试使用变量,如果你已经为它分配了编译然后重新编译。否则为变量使用不同的名称。

print他们可以看到他们的价值观。

答案 2 :(得分:0)

在这些情况下,&#34;重置&#34;命令是你最好的朋友:

 $ git reset --soft HEAD~1

重置会将当前的HEAD分支回滚到指定的版本。

请注意 --soft标志:这可确保保留撤消修订中的更改。运行该命令后,您将在工作副本中找到未更改的本地修改。

如果您不想保留这些更改,只需使用--hard标志即可。 请务必在您确定不再需要这些更改时执行此操作。

$ git reset --hard HEAD~1