Spring oauth2跨源解决方案

时间:2017-04-05 08:34:11

标签: angular cors spring-security-oauth2

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

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

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

任何人都可以帮助我....

由于

1 个答案:

答案 0 :(得分:1)

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

请参阅 对于OAuth2授权类型和https://tools.ietf.org/html/rfc6749 http://openid.net/specs/openid-connect-session-1_0.html用于OpenID Connect会话管理。那些RFC很容易阅读。