Вызовите аутентифицированный API keycloak с действующим токеном JWT - PullRequest
0 голосов
/ 09 апреля 2020

Я создал простое приложение с весенней загрузкой, которое я аутентифицировал с помощью keycloak. Когда я звоню в службу (http://localhost: 8080 / table1data ), он перенаправляет меня на ключ входа в систему page , где я вставляю имя пользователя и пароль своей области, а затем возвращает мне данные. Теперь все идет хорошо до сих пор.

Я хочу другой сценарий. Если у моего пользователя уже есть действительный токен соответствующей области, и он хочет получить доступ к тому же URL с правильным токеном, то пользователь не должен быть перенаправлен на логин keycloak page (который имеет смысл, так как пользователь имеет действительный токен). Как я могу создать этот сценарий из моего весеннего загрузочного приложения? То есть передача токена в сервис весенней загрузки, который проверяет этот токен из keycloak, а не перенаправляет меня на страницу входа. Любая помощь или ссылка на онлайн-статью, пожалуйста

Мой код контроллера

public class Table1Controller {

    @Autowired
    private ITable1Repository table1Repository;

    @GetMapping("/table1data")
    public List<Table1Entity> getAllTable1Data() {
        return table1Repository.findAll();
    }
}

PS: Я сгенерировал токен с помощью почтальона (Изображение прилагается)

enter image description here

1 Ответ

0 голосов
/ 10 апреля 2020

Вам необходимо добавить запрос авторизации в ваш HTTP-запрос, указав в качестве значения «Носитель my-sample-token ».


Пример использования почтальона

На вкладке Авторизация необходимо выбрать тип Токен на предъявителя и добавить свой токен доступа в поле Токен .

authorization configuration

Что в основном означает заголовок «Авторизация: Носитель ваш-токен » в HTTP-запросе, сделанном почтальоном. Вместо этого я в основном использую опцию Inherit auth from parent , поэтому, если вы работаете с коллекциями запросов, вы можете добавить свой токен в саму коллекцию, и каждый запрос в коллекции получает его.

Вы также можете установить большую продолжительность жизни токенов доступа, если вы работаете с тестовым сервером, чтобы избежать необходимости часто получать один токен.

...