2017-04-05 134 views
0

我具有使用Spring框架和使用安全春天的oauth2 .. 书面每当我打电话从我的角度应用此休息服务,我得到一个CORS的支架应用跨源解决方案错误..这两个应用程序都运行在我的本地机器(本地主机),但与不同的端口(8080为后端Java和3000为前端)..春天的oauth2

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

我试过很多方法,但它不能解决我的问题。

请人帮我....

感谢

+1

请使用https://stackoverflow.com/posts/43225969/edit更新/编辑此问题,以添加您的浏览器在devtools控制台中记录的确切CORS错误消息。 – sideshowbarker

+0

您是否将Access-Control-Allow-Origin标头设置为localhost:3000作为响应(并且访问控制 - 允许标题:访问控制 - 允许来源? – giaco

+0

@giaco否,我无法添加它在春天oauth2 – sam

回答

1

令牌端点(/的OAuth /令牌)是应该从应用程序的服务器端调用的授权授予代码交换获得令牌,所以没有CORS规则被应用于那里 - 不需要CORS标头(CORS规则仅仅通过浏览器需要)。如果你想获得令牌的角应用程序,你应该使用的OAuth2隐含的流动和使用iframe刷新他们 - 所以这里不需要CORS标头无论是。

请参阅 https://tools.ietf.org/html/rfc6749 for OAuth2授权类型和 http://openid.net/specs/openid-connect-session-1_0.html OpenID Connect会话管理。这些RFC是比较容易阅读。