Разумеется, все вокруг дуракиВы - это точно, а другие - решают сами.
самопровозглашённый экспертопять же, только с вашей точки зрения: ДВОИШНИКА Артём Петренков 'а.
я бы попросил относиться уважительно. Оценки мне не нужно ставить, я сам понимаю, что к чему.все ваши промахи - приводить не буду...
JSON Web Token (JWT) — это открытый стандарт (RFC 7519) для создания токенов доступа, основанный на формате JSON. Как правило, используется для передачи данных для аутентификации в клиент-серверных приложениях. Токены создаются сервером, подписываются секретным ключом и передаются клиенту, который в дальнейшем использует данный токен для подтверждения своей личности.
Он изначально безопасен. Его не нужно защищать. В нем подпись изначально имеется. Вы не понимаете сути и путаете новичков. JWT не должен шифроваться по определению. Там нет и не должно быть конфиденциальной информации.Он вообще не безопасен! Взгляните хотя бы на мат.алгоритм!
Злоумышленник может легко увести отпечаток и подделать его на своём клиенте.Не может! В этом и суть.
я бы и вам не рекомендовал высказывать оценочные суждения.это просто ответка на ваше поведение.
Какой конкретно из стандартных алгоритмов подписи JWT небезопасен? HMAC, RSA, ECDSA или SHA1?Снова чушь!
Точнее происходит - запрос нового токена со стороны сервера т.к. этот недействительныйпо какому критерию?
при наличии в нем того же IP адреса
Где исполняется fingerprint2.jsв браузере (на клиенте).
Всё. Теперь его нельзя подделать. Дополнительно шифровать не нужно.В чистом виде без привязки к клиенту - да. Иначе - нужно.
Вы тролль самый обычный.
Используем в варианте Refresh & Access ключей, т.е. клиенту отдается два токена. Refresh используется для получения Access и только этого. Access живет пару минут и хранит "общие" данные клиента который могут потребоваться внутренним сервисам чаще всего и которые не являются "приватными" и "закрытыми". Т.е. UserID, Login, и т.п. вещи. Он же используется для проверки что пользователь авторизован.
а если сервис использует не только веб, но android/ios приложения?
if encoded, err := utils.C.Encode("cookie-jar", value); err == nil {
token := fmt.Sprintf("Bearer %s", tokenString)
w.Header().Set("Authorization", token)
cookie := &http.Cookie{
Name: "cookie-jar",
Value: encoded,
Domain: ".localhost",
Path: "/",
Expires: expirationTime,
HttpOnly: true,
// Secure: true,
}
http.SetCookie(w, cookie)
}
Secure пока закомментировал, так как при разработке сертификат HTTPS не используется.Не особо силен в Go, но разве в нем нет условной компиляции, чтоб выдавать разные значения в зависимости от типа сборки/env-переменных?