如何使用 Alamofire 传递令牌值

Posted

技术标签:

【中文标题】如何使用 Alamofire 传递令牌值【英文标题】:How to pass token value with Alamofire 【发布时间】:2018-10-08 15:45:26 【问题描述】:

我正在使用 Alamofire 从我的 API 中成功检索令牌,它是一个字符串。我想获取令牌(字符串)并将其放入另一个请求中以从 API 获取一些 JSON 数据。但我不知道如何通过它。

    var token = String()// global variable

    let parameters = [
       "username" : usernameLabel.text!,
       "password" : passwordLabel.text!
    ]

    Alamofire.request(.POST, requestString, parameters: parameters, encoding: .JSON, headers: headers)
    .responseJSON  response in switch response.result 

    case .Success(let JSON):
        print("Success with JSON: \(JSON)")

        let response = JSON as! NSDictionary

        //example if there is a token
        token = response.objectForKey("token") as! String?
        print(token)

    case .Failure(let error):
        print("Request failed with error: \(error)")
        
    

【问题讨论】:

"Authorization": "Bearer \(token)" 是典型的身份验证标头.. 【参考方案1】:

尝试拨打电话:

var token = String()// global variable

let parameters = [
   "username" : usernameLabel.text!,
   "password" : passwordLabel.text!
]
let headers = [
   "Authorization" : String(format: "Bearer: @%", token)
]

Alamofire.request(.POST, requestString, parameters: parameters, encoding: .JSON, headers: headers)
.responseJSON  response in switch response.result 

case .Success(let JSON):
    print("Success with JSON: \(JSON)")

    let response = JSON as! NSDictionary

    //example if there is a token
    token = response.objectForKey("token") as! String?
    print(token)

case .Failure(let error):
    print("Request failed with error: \(error)")
    

【讨论】:

以上是关于如何使用 Alamofire 传递令牌值的主要内容,如果未能解决你的问题,请参考以下文章

如何使用操作查询发出多个 Alamofire 请求

使用 Alamofire 时如何将令牌存储在 NSUserDefault 中?

如何使用 Alamofire (Swift 2.2) 获取 Twitter 访问令牌

如何使用 Alamofire 的 RequestAdapter 将 firebase ID 令牌设置为全局标头?

Alamofire 5.0+ MultipartFormData 上传不记名令牌

如何在 Alamofire Swift 中刷新 JWT 令牌状态代码 500