Получить идентификатор пользователя из JWT (веб-токен JSON)

Как уже упоминалось в парах других, нет способа стилизовать родительский элемент элемента, используя только CSS, но следующее работает с jQuery :

$("a.active").parents('li').css("property", "value");

1
задан Mario Burga 28 March 2019 в 04:48
поделиться

1 ответ

Ваш код довольно , он не изменяет .

Как правило, не используйте NS... классы в Swift, если есть собственный эквивалент, и словарь JSON всегда является типом значения ([String:Any]).

Я рекомендую добавить перечисление Error, сделать так, чтобы функция могла выдать , декодировать сериализованный токен с помощью Decodable и вернуть экземпляр Token в случае успеха

[110 ]

Рекомендуется сохранить метку параметра в объявлении метода

enum TokenError : Error {
    case invalidJWTFormat, invalidBase64EncodedData
}

func decode(token: String) throws -> Token {
    let components = token.components(separatedBy: ".")
    guard components.count == 3 else { throw TokenError.invalidJWTFormat }
    var decodedString = components[1]
        .replacingOccurrences(of: "-", with: "+")
        .replacingOccurrences(of: "_", with: "/")

    while decodedString.utf16.count % 4 != 0 { 
        decodedString += "=" 
    }
    guard let decodedData = Data(base64Encoded: decodedString) else { throw TokenError.invalidBase64EncodedData }
    return try JSONDecoder().decode(Token.self, from: decodedData)
}

и вызывать его

do {
   let userID = try decode(token: "eyJ0eXAi.....").data.user.id
} catch { print(error) }
0
ответ дан vadian 28 March 2019 в 04:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: