【问题标题】:Alamofire Invalidate credentialAlamofire 使凭证无效
【发布时间】:2016-08-10 03:39:46
【问题描述】:

我正在使用Alamofire 做一个简单的请求

Alamofire.request(.GET, URL)
     .authenticate(user: user, password: password)                       
     .responseJSON { response in
         ...
}

在第一次有效请求后,我用无效的凭据更改了凭据,请求成功,但它应该失败。

如何使以前的凭据无效?

请求成功后,如果我更改凭据,Alamofire 会验证之前的凭据。

如何使以前的凭据无效?

【问题讨论】:

    标签: ios iphone swift authentication alamofire


    【解决方案1】:

    添加授权标头对我有帮助。

    let user = "user"
    let password = "password"
    
    let credentialData = "\(user):\(password)".dataUsingEncoding(NSUTF8StringEncoding)!
    let base64Credentials = credentialData.base64EncodedStringWithOptions([])
    
    let headers = ["Authorization": "Basic \(base64Credentials)"]
    
    Alamofire.request(.GET, "https://httpbin.org/basic-auth/user/password", headers: headers)
             .responseJSON { response in
                 debugPrint(response)
             }
    

    【讨论】:

      【解决方案2】:

      我经历了完全相同的事情。 iOS 的答案应该有效,无论如何我会使用 swift3 提供代码 sn-p 以减少研究时间。

      let user = "aaaaa"
      let password = "myPassword"
      
      let plainString = "\(user):\(password)"
      let plainData = plainString.data(using: .utf8)
      let base64String = plainData?.base64EncodedString(options:NSData.Base64EncodingOptions(rawValue: 0))
      
      let authString = "Basic " + base64String!
      
      // Set in in Authorize header like...
      let headers: HTTPHeaders = [
              "Authorization": authString,
              "Accept": "application/json"
          ]
      
      // And use it like this..
      Alamofire.request("https://httpbin.org/headers", headers: headers).responseJSON { response in
              debugPrint(response)
          }
      

      这里是讨论这个案例的地方>>https://github.com/Alamofire/Alamofire/issues/32

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-04-30
        • 2021-02-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-07
        • 1970-01-01
        • 2018-07-09
        相关资源
        最近更新 更多