Я использую Laravel 5.3 в качестве API для своего приложения для iOS. Когда я пытаюсь сделать 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)")
Я сделал некоторые погугли и нашел пакет закодировать JWT под названием JWTDecode.swift. Вот ссылка на код: https://github.com/auth0/JWTDecode.swift. Я все еще не мог понять, как решить эту проблему.
В сообщении об ошибке токен является необязательным и не был распакован, это может быть причиной. – Moritz
Я сохраняю токен в контейнере, как этот 'var token: String? { didSet { позволяют настройки по умолчанию = UserDefaults.standard defaults.set (маркер, forKey: DefaultsKey.token) } 'и затем вызвать его в массиве заголовка' пусть заголовки = [ "Авторизация": «Знаменосец \ (UserDataSingleton.sharedDataContainer.token) "] n' где мне его разворачивать? – leo0019
Похоже, пользователь simpleBob сделал правильный ответ. – Moritz