json - 无法解码 token : The token ###

标签 json swift laravel token jwt

我正在使用 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/

相关文章:

string - Swift如何从字符串中获取整数并将其转换为整数

ios - 使用 NSLayoutConstraints 使用 Swift 在 ScrollView 中垂直对齐动态 View

swift - 没有参数的方法正在调用参数

mysql - 拉拉维尔 5 : Trouble with putting correct data on screen after combining tables

java - 如何使用 JSON-B 将 JSON 字符串反序列化为非公共(public)类?

JSON - Swift 中的模型 + 实现

php - Android 在接收到数据时自动创建按钮

javascript - 想要从 json 获取单个值并使用handlebars.js向其添加徽章

laravel - 在分页功能中使用限制参数

laravel - 直接从模型实例化查询构建器