Наше приложение является приложением 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](https://i.stack.imgur.com/hJkx9.png)
AdvanceRESTClient:
![enter image description here](https://i.stack.imgur.com/C3CT0.png)
![enter image description here](https://i.stack.imgur.com/CxSw9.png)