无法解码令牌:令牌###

Could not decode token: The token ###

我正在使用 Laravel 5.3 作为我的 iOS 应用程序的 API。当我尝试使用 headers 和参数进行 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 编码包。这是代码的 link: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>