我已经部署了我的前端角度应用程序并启用了keycloak。还有一个基于java rest的后端进行通信。当我运行app keycloak显示登录页面,然后我登录后它没有显示任何内容。
XMLHttpRequest无法加载http://test.ssdiary.com:2222/auth/realms/app1/protocol/openid-connect/token。对预检请求的响应未通过访问控制检查:“Access-Control-Allow-Origin”标头包含多个值'*,http://test.ssdiary.com',但只允许一个。因此,不允许原点“http://test.ssdiary.com”访问。
获取http://test.ssdiary.com:2222/auth/realms/app1/protocol/openid-connect/login ... ame.html / init?client_id = srms-frontend& origin = http%3A%2F%2Ftest.ssdiary.com 403(禁止)强文
来自网络标签的标题
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:accept, authorization, content-type, x-requested-with
Access-Control-Allow-Methods:GET, POST, OPTIONS, PUT
Access-Control-Allow-Origin:*
Access-Control-Max-Age:1
Connection:keep-alive
Content-Length:0
Date:Fri, 09 Jun 2017 04:57:38 GMT
Server:WildFly/10
X-Powered-By:Undertow/1
答案 0 :(得分:0)
请阅读Access-Control-Allow-Origin
标题here的规范。
对于没有凭据的请求,服务器可以指定" *"作为通配符,从而允许任何来源访问资源。
您在请求中设置了Access-Control-Allow-Credentials:true
。因此,不允许多个来源访问返回的内容。尝试从服务器发送单个来源作为Access-Control-Allow-Origin
的值。