Size: a a a

2021 June 15

VY

Vladislav Yarmak in Go-go!
или даже щас чуть проще сделаю
источник

VY

Vladislav Yarmak in Go-go!
источник

M

MohammadMahdi in Go-go!
Hi
What is the best way to use JWT token in go (gin framework)?
I tried this method but I did not like it

https://learn.vonage.com/blog/2020/03/13/using-jwt-for-authentication-in-a-golang-application-dr/#
источник

VY

Vladislav Yarmak in Go-go!
I don't see where is validation part here, in article you've linked. I guess there should be around ready to use gin middlewares which make use JWT for access control. However, issuing token in article is more or less correct and there won't be much of improvement on this. Also, speaking of article you linked, I don't see point using Redis here. It kind of defies benefits of use of stateless JWT tokens.
источник

VY

Vladislav Yarmak in Go-go!
If you care about token validity and revocations - just use plain sessions
источник

M

MohammadMahdi in Go-go!
That's right
I added radis myself
Is there no suitable package to do these things automatically?
источник

ЕЮ

Егор Юдин in Go-go!
А что вы используете для механизма аутентификации? Звучит так, будто бы jwt практически не пригоден. При смене пароля, никак не отозвать токены, если не сохранять их, соответственно выйти со всех устройств нельзя. Быстрые изменения ролей без ожидания истечения жизни токена тоже с токеном не сделать. Ну то есть в клеймсы нельзя права положить. Можно хранить в редисе роли с айдишником юзера в качестве ключа. Ну и только айдишник юзера в токене хранить.
источник

DP

Daniel Podolsky in Go-go!
если вам нужен мгновенный логаут и/или логаут со всех устройств - jwt не годится, и тут мы начинаем хранить сессии
источник

ЕЮ

Егор Юдин in Go-go!
ну да, сессии.. Я вообще ожидал услышать IdentityServer. Сам им никогда не пользовался, думаю посмотреть
источник

DP

Daniel Podolsky in Go-go!
обычно аутентификацию уносят в отдельный сервис, да
источник

VY

Vladislav Yarmak in Go-go!
айдентити сервер у того же payaware работает с jwt-токенами
источник

VY

Vladislav Yarmak in Go-go!
и да, используется для аутентификации пользователей
источник

VY

Vladislav Yarmak in Go-go!
сессии хорошо, но только подписанные токены сервис-провайдер может завалидировать самостоятельно без участия айдентити-провайдера
источник

VY

Vladislav Yarmak in Go-go!
свои ограничения, конечно, есть
источник

VY

Vladislav Yarmak in Go-go!
есть два подхода:
1. хранить в условном профиле пользователя атрибут - минимальную дату выпуска токена. при обновлении пароля обновлять эту дату.
2. отзывать токены по jti. список отозванных jti всё же меньше, чем все сессии со всеми их данными
источник

@

@mr_tron in Go-go!
И список меньше и требования к его доступности, надёжности ниже. Будем честны.
источник

DP

Daniel Podolsky in Go-go!
Чего это?

Все равно каждый запрос проверять по этой базе.

А проверку по уникальному индексу все равно, по тысяче или по миллиону делать
источник

VY

Vladislav Yarmak in Go-go!
в плане размещения в памяти размер имеет всё-таки значение
источник

VY

Vladislav Yarmak in Go-go!
насчёт доступности - у нас есть похожий пример для сравнения
источник

DP

Daniel Podolsky in Go-go!
и какое же?

давайте прикинем в байтах
источник