[keycloak-user] update token: CORS error after session timeout
Marek Posolda
mposolda at redhat.com
Wed Sep 30 06:15:21 EDT 2015
Hi,
it seems we are not adding CORS headers to error responses. Could you
create JIRA for it? We are returning JSON with error descriptions and
details, the only issue is that you were not able to read those error
details due to the CORS headers.
Marek
On 30/09/15 10:08, Tair Sabirgaliev wrote:
> Hi,
>
> I’m integrating a web application using angularjs 1.4.6 and keycloak
> 1.5.0.
> The application and keycloak app-servers are on different ports.
> The application works ok when the session is not expired.
> After session expiration keycloak.updateToken() fails with
> 400 Bad Request. Chrome shows the following in the console:
>
> XMLHttpRequest cannot load
> http://localhost:8080/auth/realms/demo/protocol/openid-connect/token.
> No 'Access-Control-Allow-Origin' header is present on the requested
> resource. Origin 'http://localhost:9080' <http://localhost:9080%27> is
> therefore not allowed access. The response had HTTP status code 400.
>
> The behavior is same with Safari and Firefox.
>
> If I get it right, this 400 response from keycloak shouldn’t be
> interpreted as CORS failure by browsers?
>
> This is keycloak response when session is alive:
>
> --> HTTP/1.1 200 OK
> X-Powered-By: Undertow/1
> Server: WildFly/9
> Access-Control-Expose-Headers:
> Access-Control-Allow-Methods
> Date: Tue, 29 Sep 2015 04:54:52 GMT
> <http://airmail.calendar/2015-09-29%2010:54:52%20GMT+6>
> Connection: keep-alive
> Access-Control-Allow-Origin:
> http://localhost:9080 <http://localhost:9080/>
> Access-Control-Allow-Credentials: true
> Transfer-Encoding: chunked
> Content-Type: application/json
>
> And this one with session expired:
>
> --> HTTP/1.1 400 Bad Request
> Connection: keep-alive
> X-Powered-By: Undertow/1
> Server: WildFly/9
> Transfer-Encoding: chunked
> Content-Type: application/json
> Date: Tue, 29 Sep 2015 04:55:03 GMT
> <http://airmail.calendar/2015-09-29%2010:55:03%20GMT+6>
>
> So my concerns are:
>
> 1. Why CORS headers depend on session validity? This caused much
> confusion for me,
> because I thought there is a problem with CORS, until I understood
> this was session problem.
>
> 2. I think it would also be great to have some more context on error
> responses
> (like returning some json with error description), because HTTP
> responses are too generic.
>
> --
> Tair Sabirgaliev
> Bee Software, LLP
>
>
> _______________________________________________
> keycloak-user mailing list
> keycloak-user at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/keycloak-user
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/keycloak-user/attachments/20150930/2c8c710d/attachment.html
More information about the keycloak-user
mailing list