Я действительно стараюсь, чтобы мой бэкенд RESTful оставался в блаженном неведении обо всем, что связано с HTML. Я хотел бы, чтобы он говорил только JSON с моим внешним интерфейсом HTML/CSS/JS и другими подключающимися клиентами. OAuth2 предоставляет AuthorizationEndpoint
сервис /oauth/authorize. По умолчанию страница утверждения пользователем предназначена для HTML-результата, сгенерированного ModelAndView.
Я бы предпочел, чтобы мой внешний интерфейс HTML/CSS/JS обрабатывал отображение страницы подтверждения (и, возможно, логин), а затем отправлял одобрение пользователя в /oauth/authorize. Результатом POST-запроса /oauth/authorize будет результат JSON, содержащий токен и URL-адрес для перенаправления. Затем интерфейсный код будет обрабатывать перенаправление браузера обратно клиенту. В остальном процесс будет проходить в обычном режиме.
Я думаю об этом неправильно? Есть ли какие-либо проблемы безопасности, которые я не принимаю во внимание?
Спасибо!
AuthorizationEndpoint
. Хотя я бы хотел создать подкласс классаAuthorizationEndpoint
, похоже, чтоAuthorizationServerEndpointsConfigurer
жестко кодирует ссылку на классAuthorizationEndpoint
. Возможность подключиться к этомуauthorizationEndpoint()
и изменить созданный класс значительно облегчит эту задачу. Есть ли механизм, который я не вижу, чтобы сделать это? - person Michael Ressler   schedule 22.01.2015AuthorizationServerEndpointsConfigurer
предоставитьAuthorizationEndpoint
. Таким образом, я мог предоставить свою собственную реализацию и по-прежнему подключаться ко всем существующим механизмам. Прямо сейчас я нахожусь в мире копирования/вставки. - person Michael Ressler   schedule 22.01.2015AuthorizationEndpoint
дляAuthorizationServerEndpointsConfigurer
, я просто хочу предоставить сконфигурированные объекты (TokenGranter, ClientDetailsService, AuthorizationCodeServices, OAuth2RequestFactory, OAuth2RequestValidator и UserApprovalHandler) как bean-компоненты. Если я могу представить их как bean-компоненты, то я могу позволить фреймворку@Autowire
использовать их в моей заменеAuthorizationEndpoint
. Есть какие-нибудь мысли по этому поводу? - person Michael Ressler   schedule 22.01.2015