我正在使用 Laravel 5.3 作为我的 iOS 应用程序的 API。当我尝试使用 header 和参数进行 HTTP 调用时,出现 401 错误:
message = "Could not decode token: The token \"Optional(\""eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjUsImlzcyI6Imh0dHA6XC9cL2xvY2FsaG9zdDo4MDAwXC9hcGlcL2F1dGhcL3Bvc3RMb2dpbiIsImlhdCI6MTQ4MDUzNzQxOCwiZXhwIjoxNDgwNTQxMDE4LCJuYmYiOjE0ODA1Mzc0MTgsImp0aSI6ImMyZmYxNzI5N2U5OGU4MzkzYzZkZWRmNTZlN2ZkMzNkIn0.u6sQqlq5k-B5jhZ7EymkXLlcTIQ-i7X_83an5irwTss\"" is an invalid JWS"; "status_code" = 401; }
这是发出 HTTP 请求的代码:
let headers = ["Authorization":"Bearer \(token)"]
request(url! , method: .get, parameters: nil, encoding: JSONEncoding.default , headers: headers )
.responseJSON { response in
print("RESPONSE \(response)")
我进行了一些谷歌搜索,找到了一个名为 JWTDecode.swift 的 JWT 编码包。这是代码的链接:https://github.com/auth0/JWTDecode.swift .我仍然不知道如何解决这个问题。
最佳答案
改变
let headers = ["Authorization":"Bearer \(token)"]
类似于
guard let token = token else { return }
let headers = ["Authorization":"Bearer \(token)"]
否则你发送Optional(<token>)
而不是 <token>
.
关于json - 无法解码 token : The token ###,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40897692/