Я хочу реализовать механизм аутентификации на основе токенов для сценария, аналогичного следующему:
В Календаре Google вы можете приглашать гостей на ваше мероприятие, которые, в свою очередь, могут правильно ответить на эти события.из приглашения по электронной почте.Приглашение на такое мероприятие содержит соответствующие ссылки для ответа (Да, Нет, Возможно) токенами аутентификации, закодированными в URL.Эти токены аутентификации ограничены определенным событием и пользователем.
Какова наилучшая практика для создания такого рода «одноразовых» токенов, которые могут выполнять только ограниченные действия и имеют доступ только к ограниченным ресурсам (и потенциально могутдействует только в течение ограниченного периода времени)?И как мне реализовать это в Glassfish?Я хочу показать это через RESTful API моего приложения (используя Джерси).В настоящее время все пути URL в моем приложении защищены с помощью ограничения аутентификации, которое я настроил в файле web.xml.
Мой подход к этому будет следующим:
- Укажите URL-адрес, к которому не применяется ограничение аутентификации (например, / token_auth), и используйте его для аутентификации токена.
- В методе веб-службы вручную проверьте токены безопасности и выполните необходимые действия.Токены сохраняются в БД вместе с такой информацией, как имя пользователя, срок действия, авторизованные ресурсы и т. Д.
Мне было интересно, существует ли более элегантное решение с использованием каких-либо структур или встроенных возможностей контейнераэто может избежать всей ручной работы.И может ли это решение иметь некоторые недостатки безопасности.
Подобный вопрос задавался ранее в SO: Новичок в аутентификации JAAS;Войдите, используя токен в строке URL