【发布时间】:2019-04-28 15:56:03
【问题描述】:
我正在尝试在我的资源服务器上配置 Swagger 身份验证,以便我可以针对我的授权服务器进行身份验证。
我将资源服务器和授权服务器分开。它们都在我的本地主机上使用不同的端口启动。
- 8083 端口上的资源服务器
- 8081 端口上的授权服务器
每当我尝试“授权”时,都会出现 CORS 问题。
我从另一个网站分叉了一个项目作为我的测试场地。下面是分叉的项目。
https://github.com/cbriarnold/oauth2-spring-boot-2.0.2
要测试,一旦授权服务器和资源服务器都启动,请执行以下操作:
- 转到http://localhost:8083/swagger-ui.html
- 点击“授权”按钮
- 点击对话框中的“授权”按钮
如果你打开了开发者工具,你会看到有CORS错误
CORS 策略已阻止从源“http://localhost:8083”获取“http://localhost:8081/oauth/token/”的访问权限:对预检请求的响应未通过访问控制检查:预检请求不允许重定向。
与上述 CORS 错误相关的 http 状态码是 302。
因此,我修改了源以尝试 permitAll(我知道从安全角度来看这是不希望的,但我只是想弄清楚发生了什么)。我将收到相同的 CORS 错误,但 https 状态代码为 403。代码位于以下分支。
https://github.com/cbriarnold/oauth2-spring-boot-2.0.2/tree/permitAll
有什么建议吗?
【问题讨论】:
标签: spring spring-boot spring-security spring-security-oauth2 swagger-ui