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

Ребят можете подсказать, есть задание "написать сервис аутентификации" - 4

REST маршрута, 1) Выдает пару access/refresh token, 2) выполняет refresh токенов, 3) удаляет конкретный refresh token из базы, 4) удаляет все refresh tokenы из базы конкретного пользователя. Как это выглядит приложение на Heroku? Может есть примеры как вообще это представить, почитал пару статей, не очень близко к моей теме, (если можно без токсизма), я начинающий в этом ЯП)

23 ответов

41 просмотр

Есть либа, которая все это реализует, возможно не одна, я работал с этим https://github.com/openshift/osin

Rail-Batyrshin Автор вопроса

Какой смысл хранить токены в базе?

🎅 СНГ
Какой смысл хранить токены в базе?

для возможности разлогиниться в случае атаки злоумышленника

Алексей Долгов
для возможности разлогиниться в случае атаки злоум...

Достаточно укоротить срок жизни токена 5 минутами?

Алексей Долгов
так access token и не должен жить долго

в теории. а так много где видел полувечные access токены на день или два. не очень секьюрно

Алексей Долгов
в теории. а так много где видел полувечные access ...

Юзерские токены могут быть jwt и должны быть короткими. И держать для отмены их в бд не очень нужно. Токены для общения микросервисов по внутренней сети могут вечно жить.

Elmanov Anton
Юзерские токены могут быть jwt и должны быть корот...

так тут два токена - access token и refresh token. access не хранится и имеет котороткий срок жизни. refresh хранится только у юзера и у сервиса который access выдает

Rail-Batyrshin Автор вопроса
🎅 СНГ
Какой смысл хранить токены в базе?

В ТЗ так описано, хранить только рефреш токен

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

В той либе, что я скинул изначально, все токены хранятся, в моем случае это был редис https://github.com/openshift/osin Возможно, это какая-то особенность oauth, что там без хранения никак

Rail-Batyrshin Автор вопроса
Алексей Долгов
для возможности разлогиниться в случае атаки злоум...

я вообще не вкурил как это работает - сижу плачу

Rail Batyrshin
я вообще не вкурил как это работает - сижу плачу

это просто: 1. вводим пароль и юзернэйм. сервис выдает нам 2 токена - access и refresh. это роут login 2. кидаем access token и refresh token. из access если он jwt мы можем вынуть имя юзера или id и по нему в базе найти refresh и если все ок выдать новый access. это роут refresh

Rail-Batyrshin Автор вопроса
Алексей Долгов
это просто: 1. вводим пароль и юзернэйм. сервис вы...

а в параметре запроса необходимо еще указать GUID, это тоже генерируется каким то модулем?

Rail Batyrshin
а в параметре запроса необходимо еще указать GUID,...

id запроса пусть фронты генерят. не бэковское это дело

Rail-Batyrshin Автор вопроса
🎅 СНГ
Создатель тз чудаковатый слегка.

это от компании MEDODS, хотел как нуб постажироваться на NodeJS, а задание дали на Go, да и сложноватое для меня. Хотя я Go пару дней изучаю)

Rail Batyrshin
это от компании MEDODS, хотел как нуб постажироват...

А го тут не при чём, jwt.io посмотрите сколько там яп поддерживается.

🎅 СНГ
И где тут про oAuth?

У тебя несколько сервисов. ты идешь в сервис авторизации, он тебе выдает токен с правом доступа в сервис библиотеки, с полученным токеном ты идешь в библиотеку. Библиотека тебе верит. 1.идентификация 2. аутентификация. 3. Запрос прав(авторизация). 4. Получение токена. 5. С токеном ты получаешь доступ к ресурсам

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

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

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
7
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Карта сайта