OID C - реализация OAuth2 с IdentityServer3 и Spring Boot - PullRequest
0 голосов
/ 27 февраля 2020

Наше приложение является приложением Spring Boot, и мы получили требование реализовать авторизацию OAuth2 с IdentityServer3 в качестве поставщика.

Однако, когда все настроено правильно, мы продолжаем получать ошибку The client application is not known or is not authorized., когда перенаправлены на экран входа в систему единого входа.

Используя postman, мы можем получить доступ к экрану входа в систему, нажав «Получить новый маркер доступа»

Используя AdvanceRestClient, мы получим та же ошибка, что и в нашем приложении Spring Boot.

Проверяя журнал этих двух инструментов, я обнаружил, что на почтальоне запрос сначала отправит запрос POST на URL-адрес токена доступа, в то время как для безопасности Spring Boot и AdvanceRESTClient, он сгенерирует URI GET для URL authorize.

Пример POSTMAN:

POST https://login.xxx.com.my/LoginHost/core/connect/token

Пример первого запроса AdvanceRESTClient:

GET https://login.xxxx.com.my/LoginHost/core/connect/authorize?response_type=code&client_id=xxx.web&redirect_uri=https%3A%2F%2Fauth.advancedrestclient.com%2Foauth-popup.html&scope=openid%20email%20profile&state=XXX

Это сбивает с толку , Какое поведение правильно? И почему там разница?

Надеюсь, что кто-нибудь может помочь с этим. Спасибо.

* ОБНОВЛЕНИЕ 1 *

Настройки POSTMAN:

enter image description here

AdvanceRESTClient:

enter image description here

enter image description here

1 Ответ

0 голосов
/ 27 февраля 2020

После просмотра журналов консоли обоих клиентов кажется, что проблема вызвана redirect-url. После изменения URL перенаправления на AdvancedRestClient для соответствия настройкам почтальона, он работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...