Я получаю токен формы HTTP-запроса в формате JWT
. если я печатать и декодировать мой вывод как статическое значение, это работает отлично, но когда я попытался расшифровать выходное значение, это не работает, и сообщение показать ошибки
Декодировать динамически полученный выход, поскольку JWT не работает в Swift 3. «Токен еще не действителен (не до утверждения)»
лексема еще не действует (не ранее претензии).
вот мой код
if let token = parseResult["token"] as? String{
//print(token)
do {
let claims = try JWT.decode(token, algorithm: .hs256(Constants.Route.Secret.data(using: .utf8)!))
print("\(claims)")
} catch {
print("\(error)")
return
}
}
, если я использую мой распечатаны маркер выше для следующего запроса, это прекрасно работает. Я не знаю, что это ошибка в JWT
decoder или в моем методе JSONSerialization
. но данные, напечатанные с JSONSerialization
работает, если я использую так:
if let token = parseResult["token"] as? String{
let testToken:String = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ"
do {
let claims = try JWT.decode(testToken, algorithm: .hs256(Constants.Route.Secret.data(using: .utf8)!))
print("\(claims)")
} catch {
print("\(error)")
return
}
}
Скорее всего, ["nbf" претензия] (https://tools.ietf.org/html/rfc7519#section-4.1.5) является еще не действителен. – user28434
Можете ли вы добавить * актуальный * токен JWT, с которым у вас проблема? Первых двух частей будет достаточно. – user28434
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ –