OIDC - 使用 IdentityServer3 和 Spring Boot 实现 OAuth2

OIDC - Implementing OAuth2 with IdentityServer3 and Spring Boot

我们的应用程序是一个 Spring 启动应用程序,我们已经得到了使用 IdentityServer3 作为提供者来实现 OAuth2 授权的要求。

然而,在一切设置正确的情况下,当我们重定向到 SSO 系统的登录屏幕时,我们不断收到错误 The client application is not known or is not authorized.

使用postman,我们可以在单击'Get New Access Token'

时访问登录屏幕

使用 AdvanceRestClient,我们得到与 Spring 引导应用程序相同的错误。

检查这两个工具的日志,我发现在 postman 上,请求将首先 POST 到访问令牌 URL,而在 Spring 引导安全和AdvanceRESTClient,它会生成一个GET URI到authorize URL.

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 设置:

AdvanceRESTClient:

查看两个客户端的控制台日志后,问题似乎是由 redirect-url 引起的。在 AdvancedRestClient 上更改重定向 url 以匹配邮递员设置后,它就可以工作了。