170 похожих чатов

Всем привет. Я недавно задавал вопрос на счёт токенов и авторизации/регистрации. Попробовал

сделать авторизацию с помощью jwt token , насколько получилось с гуглом пополам.

Есть ли крутые программисты, которые могли бы одни глазом посмотреть код и указать на грубые ошибки? Был бы весьма признателен,

https://github.com/anaxita/webserver- тут простой только апи с регистрацией и авторизацией

23 ответов

6 просмотров

я не понял, зачем вам jwt, если вы все равно сверяете его с бд

Владимир Гришин
я не понял, зачем вам jwt, если вы все равно сверя...

Отличный вопрос. 1. Я изначально полагал, что токен независим от бд т.к внутри себя содержит срок действия его по сути не нужно нигде хранить. 2. Я предположил, что неплохо было бы еще сверять данные внутри токена (claims в котором userid) - поэтому добавил проверку в БД на это поле. 2.1 Верно ли я полагаю, что если claims как-то поменяют, то токен уже не пройдет валидацию и моя проверка бесполезна?

линтер надо

https://github.com/anaxita/webserver/blob/7ad30247596e884e929f8694c70482a1b8ea69aa/internal/webserver/server/handlers.go#L12 - дизреспект так ключи хранить. вынести в енвы

Алексей Долгов
Сверять - нет. Мы либо верим в jwt, либо он беспол...

Понял вас. Подскажите, а каким образом исправить момент, что человек работает внутри системы и токен резко кончился?

Алексей Долгов
в вашей реализации никак. ставить на двое суток ex...

1. Есть ли пример реализации который подошёл бы под моё описание? 2. Или в какую сторону читать? 3. Выше писали про рефреш-токен - туда?)

Александр Костюченко
1. Есть ли пример реализации который подошёл бы по...

да нужно 2 токена - refresh и access. Если нужно конечно очень. Ибо такой кейс когда нагруженный бэк, много сервисов, и веб-приложение и мобильное и десктоп и много устройств у каждого юзера и все ломятся на бэк

Алексей Долгов
да нужно 2 токена - refresh и access. Если нужно к...

Ну сервис будет совсем не нагруженный, но не суть. Просто хотелось бы для себя четко понимать какие кейсы есть и в каких ситуациях их лучше использовать Например сейчас - мне нужен сервис который по запросу будет выключать/включить виртуальные машины в дата-центре. Клиентам веб-доступ и из моб. приложения нужно дать. Если в вебе - то можно использовать куки и сессии как я понял (писал пару дней назад про это) А в моб. приложении гугл предложил jwt - но вот встал вопрос с тем, что если в процессе работы кончится токен... клиенту будет очень неприятно что его на ровном месте выкинули. Вы предложили access-refresh (похоже на то что мне нужно), а после написали, что кейс не очень... так как же сделать, чтобы и безопасно относительно было и не выкидывало посреди работы?) Допустим для моей задачи я сделаю через refresh А после захочу чат корпоративный написать.... как там быть?

Алексей Долгов
https://github.com/anaxita/webserver/blob/7ad30247...

Спасибо, я планирую хранить данные от БД и прочие секретные вещи в Json файле. Можно ли так делать или чем удобнее/безопаснее env?

Александр Владимирович 🇷🇺
А где будет json ?

В корне проекта...? в папке /configs ...?

Александр Костюченко
Ну сервис будет совсем не нагруженный, но не суть....

Могу вам посоветовать https://www.keycloak.org/ Очень удобное решение и не нужно выдумывать, как вам быть, жвт или куки, вечный токен или аксес/решреш 😊

Adv0cat
Могу вам посоветовать https://www.keycloak.org/ Оч...

Интересная штука) Однако прежде чем использовать, хотелось бы понимать "зачем я это использую" и "как оно работает внутри"

Александр Костюченко
Интересная штука) Однако прежде чем использовать, ...

Там документация есть, так что кто вам мешает разобраться-то?)) Или вот в этих токенах сессиях, берите и разбирайтесь))) Или вы думаете там пара приложений и кто-то вам тут изложит суть?))) Это довольно таки объемный материал, о том когда и какие токены нужно использовать, какие плюсы и минусы, что во что эволюционировало... Изучайте, дерзайте!)

Adv0cat
Там документация есть, так что кто вам мешает разо...

Я в самом начале написал, что может быть посоветуете более живой материал (статьи книги видео), чем сухая документация (она тоже не плоха, но всё же)

Александр Костюченко
Я в самом начале написал, что может быть посоветуе...

ну давайте я погуглю за вас: https://habr.com/ru/company/mailru/blog/343288/ https://tproger.ru/translations/user-session-security/ https://gist.github.com/zmts/802dc9c3510d79fd40f9dc38a12bccfc И это не полный охват материала)

Adv0cat
ну давайте я погуглю за вас: https://habr.com/ru/c...

Спасибо! Сейчас вопрос без шуток - каким поисковиком вы пользуетесь? duckduckgo таких не выдавал....ну правда)

Александр Костюченко
Спасибо! Сейчас вопрос без шуток - каким поискови...

Да обычным гуглом)) Просто запросы строю немного иначе) Конкретно эти ссылки произошли от запроса “использование токенов сессии”

Александр Костюченко
Я в самом начале написал, что может быть посоветуе...

Дополню ещё одной ссылкой. Тут не только про аутентификацию, но и про авторизацию: https://blog.gelin.ru/2019/11/auth.html

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

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта