Vyacheslav
для oauth там вообще штуки 3 что ли таблицы
Andrey
ну тоже варинт, чо
Vyacheslav
для JWT не помню уже
Andrey
я jwt пользую
Vyacheslav
я вот и хочу узнать может кто задавался вопросом
Andrey
jwt токены же не надо хранить в бд
invariance
eeee
invariance
Вступление про куки
invariance
И про то что api не должен иметь состояния
invariance
Stateless
Andrey
ну так то логично пока все)
Andrey
Фолл
Andrey
А ты jwt не юзал еще?
invariance
Нет
Andrey
аа, ясн
Andrey
Нет
Попробуй, рекомендую. Удивишься насколко просто и офигенно
invariance
мне пока негде
invariance
это как это О_о
invariance
Используя JWT можно избавиться от хранения токенов в базе
invariance
а где они хранятся
Andrey
Нигде)
Andrey
только на клиенте же
invariance
как это работает?
invariance
как апи понимает, что к ней тот юзер обратился
Andrey
У тебя есть секретный ключ. ты формируешь токен, и в нем например записал id юзера.
Andrey
Когда ты от юзера токен получил, ты его расшифровал своим ключом и получил id
Andrey
и не только id там хранить можешь конечно
invariance
ассиметричное шифрование?
Andrey
да, обратимое
invariance
хм
Andrey
не уверен, что "ассиметричное" именно это значит
invariance
Алиса генерит два ключа, публичный и секретный. Отправляет Бобу публичный ключ, он с помощью него шифрует сообщение (например свой публичный ключ), отправляет Алисе. Зашифрованное публичным ключом сообщение можно расшифровать только с помощью секретного ключа (т.е. только Алиса может расшифровать мессагу)
Andrey
это ты про ssh ключи
invariance
я это про ассиметричное шифрование)
invariance
ssh ключи просто работают на нем
Andrey
ну это не то
invariance
а как тогда?
Andrey
Клиент получит от тебя токен - тебе его и предявляет
Andrey
клиент не знает,. что внутри токена
invariance
типо просто шифрование одним ключом?
Andrey
ну это не то
а может и то, как посмотреть
Andrey
да
invariance
лан, почитаю про jwt потом
Andrey
все очень просто там
invariance
JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally signed. JWTs can be signed using a secret (with the HMAC algorithm) or a public/private key pair using RSA.
invariance
RSA - ассиметричное скорей всего
Vyacheslav
Да сложного в целом то вообще в ларе ничего нет, прост опять же не вижу пока смысла использовать jwt если можно api token
Andrey
Шифрование и расшифровка идет одним ключом
Vyacheslav
Jwt нужно ещё клиенту подключать
Vyacheslav
А апи токен ток на бэке
Andrey
Да сложного в целом то вообще в ларе ничего нет, прост опять же не вижу пока смысла использовать jwt если можно api token
Ну в целом удобно, что 1) не надо в БД хранить, 2) срок действия легко контролировать и тт/д/
Vyacheslav
Тьфу, фигню сморозил
Vyacheslav
Неужели никто не задавался вопросом нах придумали апи токен если есть куча готовых решений 😁
invariance
100% ассиметричное
invariance
это с вики RSA
invariance
ассиметричное и круче в общем то
invariance
@negasus советую вникнуть в тему, интересно и пригождается довольно часто)
Andrey
Ну в конексте JWT это не имеет смсла обсуждать
Andrey
Так как клиенту ключ расшифровки не доступен
invariance
Ну в конексте JWT это не имеет смсла обсуждать
это дало мне представление о том, как оно работает
Vyacheslav
В jwt по моему ещё удобно - список прав можно запихнуть
invariance
Так как клиенту ключ расшифровки не доступен
jwt только в одну сторону работает типо?
Andrey
В jwt по моему ещё удобно - список прав можно запихнуть
Туда можно записать инфу, а уж как ее расценивать - это детали
invariance
а если мне получить данные надо
invariance
бля, непонятно чет)
Andrey
jwt только в одну сторону работает типо?
Я ж говорю, сервер выдал клиенту токен. Все
Andrey
Клиент тебе токен предъявляет, ты расшифровал - нужную инфу получил
invariance
Я ж говорю, сервер выдал клиенту токен. Все
ему (серверу) надо его где то хранить
Andrey
нет
invariance
ват
Andrey
токен внутри себя содержит нужную информацию
Vyacheslav
Заголовки тогда должны быть
Vyacheslav
Какие то
Vyacheslav
Или инфа об алгоритме шифрования
Andrey
Ну блин, на гляньте на спецификацию, примеры посмотрите
Andrey
Заголовки тогда должны быть
Так говоришь, будто их нету