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

时间:2016-11-30 20:35:22

标签: json swift laravel token jwt

我使用Laravel 5.3作为iOS应用的API。当我尝试使用标头和参数进行HTTP调用时,我收到401错误:

  

message ="无法解码令牌:令牌   \"可选(\"" eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjUsImlzcyI6Imh0dHA6XC9cL2xvY2FsaG9zdDo4MDAwXC9hcGlcL2F1dGhcL3Bvc3RMb2dpbiIsImlhdCI6MTQ4MDUzNzQxOCwiZXhwIjoxNDgwNTQxMDE4LCJuYmYiOjE0ODA1Mzc0MTgsImp0aSI6ImMyZmYxNzI5N2U5OGU4MzkzYzZkZWRmNTZlN2ZkMzNkIn0.u6sQqlq5k-B5jhZ7EymkXLlcTIQ-i7X_83an5irwTss \""为   无效的JWS&#34 ;;       " 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)")

我做了一些谷歌搜索并找到了一个编码JWT的包,叫做JWTDecode.swift。以下是代码的链接:https://github.com/auth0/JWTDecode.swift。我仍然无法弄清楚如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

更改

let headers = ["Authorization":"Bearer \(token)"]

类似

guard let token = token else { return }
let headers = ["Authorization":"Bearer \(token)"]

否则您发送Optional(<token>)而不是<token>