0

Я использовал сервер авторизации oauth2 для защиты от пружин в качестве подзарядки с пружинной загрузкой. Я пытаюсь разрешить нашему основному (не-java) приложению перейти на oauth2 с помощью этой новой службы.весенняя безопасность сервер авторизации oauth2 без каких-либо пользовательских интерфейсов

Одна вещь, которую я не могу обойти, состоит в том, как настроить это, чтобы сервер авторизации никогда не показывал никакого пользовательского интерфейса. В частности, есть ли способ, чтобы пользовательский интерфейс/oauth/authorize UI размещался в нашем основном приложении, но все же принимаем одобрения прокси-авторизации? Или этот пользовательский интерфейс должен обслуживаться непосредственно сервером авторизации?

ответ

0

Пользовательский интерфейс для входа не обязательно должен находиться на Авторизованном сервере (см. https://tools.ietf.org/html/rfc6749#section-4.3). Это позволяет клиенту собирать учетные данные и запрашивать прямой токен на сервере авторизации.

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

+0

Спасибо. Я не говорю об интерфейсе входа в систему. Я говорю об авторизации пользовательского интерфейса. «Разрешить приложение для доступа к вашему адресу электронной почты» часть потока предоставления кода авторизации. – brub

+0

Я не думаю, что вы можете использовать поток предоставления кода авторизации и использовать свой пользовательский интерфейс приложения. Если вы не хотите видеть страницу авторизации, вы можете автоматически утверждать области. Например, https://github.com/sdoxsee/jhipster-with-external-authserver/blob/master/authserver/src/main/java/demo/AuthserverApplication.java#L115. Почему вы хотите разместить это в своем клиентском приложении? – sdoxsee

+0

Я пытаюсь создать службу авторизации в качестве микросервиса и надеялся разместить UI в нашем «основном» приложении пользовательского интерфейса. Автоподтверждение может быть подходящим решением. – brub

0

Вы можете создать страницу входа в приложение UI, то Логин будет вызывать сервер аутентификации, как:

curl -X POST -vu client:secret http://localhost:8081/spring-security-oauth-server/oauth/token -H "Accept: application/json" -d "password=password&username=user&grant_type=password&scope=read%20write&client_secret=secret&client_id=client" 

Вы получите маркер доступа, который будет использоваться для доступа к конечным точкам на сервере ресурсов, как :

curl http://localhost:8081/spring-security-oauth-resource/path/endpoint -H "Authorization: Bearer <Token>" 
+0

Спасибо. Да, это пароль владельца ресурса. Я использую это для входа. Я говорил о поддержке разрешения на предоставление кода авторизации аналогичным образом. – brub

Смежные вопросы