Oauth2跨源解决方案

Oauth2 cross origin solution

我有一个休息应用程序,它是使用 spring 框架编写的,并使用 spring oauth2 来确保安全.. 每当我从 Angular App 调用此 rest 服务时,我都会收到 CORS 错误。这两个应用程序在我的本地计算机 (localhost) 上都是 运行,但端口不同(后端为 8080 java 和前端 3000)..

我在后端应用程序的控制器中添加了@crossorigin() 并且资源 API 的所有交叉来源都是固定的..但是对于 spring oauth2 身份验证 url(/oauth/token) 这总是发生..

我尝试了很多方法,但都没有解决我的问题。

谁能帮帮我....

谢谢

应该从您的应用程序服务器端调用令牌端点 (/oauth/token) 以获取令牌以交换授权授予代码,因此那里没有应用 CORS 规则 - 没有 CORS headers需要(仅浏览器需要 CORS 规则)。如果您想为您的 Angular 应用程序获取令牌,您应该使用 OAuth2 隐式流程并使用 iframe 刷新它们 - 所以这里也不需要 CORS headers。

https://www.rfc-editor.org/rfc/rfc6749 对于 OAuth2 授权类型和 http://openid.net/specs/openid-connect-session-1_0.html 用于 OpenID Connect session 管理。这些 RFC 相当容易阅读。