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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


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