powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по Rest Security
14 сообщений из 14, страница 1 из 1
Вопрос по Rest Security
    #38974266
mytoffnax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток!

Нужна подсказка по защите Rest соединений.
Смотрю в сторону токенов и в голове появляются вопросы.

Как я понял суть, клиент передаёт сервису логин и пароль, в ответ получает токен и уже с ним обращается к сервису. Токен - это шифрованные логин+пароль+доп.данные (на пример дата годности), может передаваться в виде строки в хедере сообщения.
Поправьте, если я ошибаюсь.

Есть ли уже устоявшаяся метода или можно "импровизировать" (гнать отсебятину)?
Можно обойтись без Spring?

Заранее спасибо!
...
Рейтинг: 0 / 0
Вопрос по Rest Security
    #38974277
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mytoffnaxКак я понял суть, клиент передаёт сервису логин и пароль, в ответ получает токен и уже с ним обращается к сервису.

Ну, грубо, говоря - да. Но механизмы бывают более сложные.

mytoffnaxТокен - это шифрованные логин+пароль+доп.данные (на пример дата годности), может передаваться в виде строки в хедере сообщения.

Совсем нет. Токен это, обычно, некий уникальный идентификатор сессии и ничего более. Расшифровать его в данные невозможно.
Проверка пароля и срока годности происходит уже при авторизации сервисом. На клиенте эти данные не нужны.

mytoffnaxЕсть ли уже устоявшаяся метода или можно "импровизировать" (гнать отсебятину)?

Есть устоявшиеся. Можно гнать отсебятину.
REST это HTTP. Отсюда и стоит отталкиваться: Basic, Digest, NTLM, SPNEGO, etc

mytoffnaxМожно обойтись без Spring?

Можно
...
Рейтинг: 0 / 0
Вопрос по Rest Security
    #38974300
mytoffnax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz
mytoffnaxТокен - это шифрованные логин+пароль+доп.данные (на пример дата годности), может передаваться в виде строки в хедере сообщения.

Совсем нет. Токен это, обычно, некий уникальный идентификатор сессии и ничего более. Расшифровать его в данные невозможно.
Проверка пароля и срока годности происходит уже при авторизации сервисом. На клиенте эти данные не нужны.


То есть, клиенту всё равно нужно передавать свои логин и пароль при обращении к Rest'ам?

Можно не большой пример?
...
Рейтинг: 0 / 0
Вопрос по Rest Security
    #38974304
mytoffnax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Пользователь обращается к Rest сервису по HTTPS и передаёт свои логин и пароль
2. Сервис создаёт токен и отдаёт его клиенту
3. Клиент обращаясь к сервисам уже по HTTP передает этот токен
4. На основании токена, сервис даёт ответ

Верно?
...
Рейтинг: 0 / 0
Вопрос по Rest Security
    #38974390
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сервер токенов может быть 3-м участником в этой цепочке.
...
Рейтинг: 0 / 0
Вопрос по Rest Security
    #38974708
mytoffnax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonСервер токенов может быть 3-м участником в этой цепочке.
По плану одно приложение с разными сервисами, один из них, выдаёт токен.
Схема то в целом норм?

Всё же не понимаю, при последующих обращениях к другим сервисам, клиент передаёт только токен? или же логин/пароль тоже необходимы?
З.Ы. Можно сделать как угодно, а как по уму?
...
Рейтинг: 0 / 0
Вопрос по Rest Security
    #38974836
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mytoffnaxТо есть, клиенту всё равно нужно передавать свои логин и пароль при обращении к Rest'ам?

Зачем? Сервер хранит Map'у сессий, в которой по ID (UUID обычно) находится логин, права доступа, срок жизни.
...
Рейтинг: 0 / 0
Вопрос по Rest Security
    #38975667
WGA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WGA
Гость
mytoffnax1. Пользователь обращается к Rest сервису по HTTPS и передаёт свои логин и пароль
2. Сервис создаёт токен и отдаёт его клиенту
3. Клиент обращаясь к сервисам уже по HTTP передает этот токен
4. На основании токена, сервис даёт ответ

Верно?. Токен можно безопасно переживать только в https-соединении. Лучше передавать кукой.
...
Рейтинг: 0 / 0
Вопрос по Rest Security
    #38976242
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WGA,

Чем кукой лучше то? Чтоб из соседнего окошка можно было отправить запрос на смену пароля к учетке, который сам авторизуется?
...
Рейтинг: 0 / 0
Вопрос по Rest Security
    #38976730
mytoffnax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за помощь! =)
...
Рейтинг: 0 / 0
Вопрос по Rest Security
    #38983156
RuslanGab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, у меня примерно такая же фигня - надо разобраться с безопасностью в Rest, и смотрю я в сторону token или sessionid. Может вопрос глуп, но опыта нет так что подскажите: вот сгенерил я токен на сервере и отправил клиенту, а у себя завел мапу одну на всех, где это для каждого клиента храню (и дальнейшие обращения просто проверяю на наличие такого токена в мапе - не бегать же с каждым запросом в базу), НО как блин эту мапу чистить? Клиентов же много (ну пусть у меня не очень много - 30-50 на вскидку может, но все же. Я бы хотел закатать срок действия часов 10 (рабочий день с обедом и запасом), но блин не могу придумать как привязать это к токену (или тупо время добавлять), ну а даже коли брать sessionid то как их из мапы вычищать? Думаю мож каким параллельным потоком периодически пробегаться, но это блин костыль на костыле... Спасибо!
...
Рейтинг: 0 / 0
Вопрос по Rest Security
    #38983207
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RuslanGab,

самое простое это WeakHashMap
если в мапе нет - тогда берешь из БД

здесь другие варианты
...
Рейтинг: 0 / 0
Вопрос по Rest Security
    #38983259
RuslanGab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dmitry.,

Спасибо! Вот он опыт что не пропьешь... Чесс слово сколько не читал про коллекции ни разу VeakHashMap не встречал:) Вроде по первой прикидке похоже что то что надо. Буду копаться.
...
Рейтинг: 0 / 0
Вопрос по Rest Security
    #38985295
WGA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WGA
Гость
Сергей АрсеньевWGA,

Чем кукой лучше то? Чтоб из соседнего окошка можно было отправить запрос на смену пароля к учетке, который сам авторизуется?Это REST-сервис, какие окошки?

А какие варианты есть?
1. query-параметр - плохо, часто логируется на прокси-серверах.
2. Кастомный HTTP-header - в общем-то тоже норм.
3. Но в компонентах доступа зачастую есть поддержка кук - тем и лучше.

Да и даже если из соседнего окошка, меняет пароль - чем это так плохо?..
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по Rest Security
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]