0

Я два вопроса относительно spring-cloud-security с OAuth2:Spring Cloud OAuth2: Пароль типа гранта и защиты ресурсов

  1. Как защищаемых ресурсов на grant_type? Я хочу защитить свой REST API с помощью client_credentials, а затем запросить защищенные пользовательские ресурсы с помощью типа предоставления пароля. Возможно ли это?

  2. В соответствии с инструкцией по использованию this, тип предоставления пароля не нуждается в секретности клиента, хотя весеннее облако oauth2 всегда, кажется, требует секретности клиента. Как я могу справиться с этим? Установив глупый клиентский секрет, например «abc», и просто не заботитесь об этом?

  3. Если у меня есть клиентское приложение с @ EnableOAuth2Sso, я получаю только перенаправление на авторизацию Uri, хотя я не предоставляю тип разрешения «код авторизации». Разве это не имело бы смысла, если бы я был перенаправлен на токен Uri, если я предоставляю только тип типа пароля?

Благодаря

ответ

3

Как защищаемых ресурсов на grant_type? Я хочу защитить свой REST API с помощью client_credentials

Используйте правило доступа OAuth2 и укажите, что вы хотите только клиент. Например. используйте переменную выражения #oauth2 и #oauth2.isClient() (source code here).

пароль типа гранта не нужен клиент секретного

Неправильно. Вам необходимо аутентифицировать клиента. Если у него нет пароля, это не очень безопасно, но вы можете сделать это (используйте пустой пароль), если хотите.

Если у меня есть клиентское приложение с @ EnableOAuth2Sso, я получаю только перенаправление на авторизацию Uri, хотя я не предоставляю тип авторизации типа «авторизация». Разве это не имело бы смысла, если бы я был перенаправлен на токен Uri, если я предоставляю только тип типа пароля?

Нет, маркер конечной точки является обратный канал, и он не работает, как, что (даже если предположить, вы позволили лексемы должны быть предоставлены из GET, что бы пользователь делать с ответом?). Нет протокола для внешних веб-приложений, чтобы использовать грант для пароля (это в основном для родных приложений). В веб-приложении вы должны использовать код auth.

+0

Спасибо Дэйв! Не знал о [управлении доступом на основе выражения] (http://docs.spring.io/spring-security/site/docs/3.0.x/reference/el-access.html). Теперь я использую выражения безопасности метода, и это работает как шарм. Спасибо за ваш ответ, я очень ценю это. Продолжайте делать этот герат! – zersaegen

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