Как и где получить токен доступа с сервера авторизации oauth2? - PullRequest
0 голосов
/ 07 октября 2019

Я пытаюсь повысить безопасность моего API с помощью oauth2 и jwt. Поэтому в настоящее время я могу использовать следующую команду и получить токен доступа. curl client: secret @ localhost: 8080 / oauth / token -d grant_type = пароль -d username = user -d пароль = пароль

Очевидно, я не собираюсь вызывать его для каждого пользователя)) Мой вопросчто где вызывать эту команду? Должен ли я создать новый сервис, такой как «localhost: 8080 / user / login», и вызвать эту команду в своем коде? (если да, то как?)

Спасибо

Ответы [ 2 ]

1 голос
/ 07 октября 2019

grant_type=password - это один из потоков OAuth 2.0, определенный в RFC 6749 (Структура авторизации OAuth 2.0). А именно, это определено в Разделе 4.3 . Тем не менее, поток не рекомендуется. Это означает, что вам не следует вызывать команду.

В типичных случаях веб-службы реализуют поток Код авторизации , определенный в Раздел 4.1 . Следующая диаграмма иллюстрирует поток. Подробнее см. " Схемы и фильмы всех потоков OAuth 2.0 " .

enter image description here

0 голосов
/ 07 октября 2019

обычно получение токена осуществляется с помощью конфигурации (@autoconfigue), выполняется вызов на сервер аутентификации (провайдера), вот пример конфигурации oauth2 с ключом аутентификации сервера аутентификации, вдохновляющим ок. доступны для получения дополнительной информации.

https://github.com/bcarun/spring-oauth2-keycloak-connector

...