对于网络应用程序,我使用通过OpenID Connect的Google登录。它对整个欧洲的用户都很好,没有任何问题。
自7月以来,不再可能从西班牙IP登录,因为它以 CORS 错误结束。
出现 CORS 问题的原因是,在请求标头中带有“ Origin” 的请求之后,响应标头中不包含'access- control-allow-origin'。
问题请求违反了Google搜索文档中的 jwks-uri (“ https://www.googleapis.com/oauth2/v3/certs”)。
响应标头中缺少'access-control-allow-origin'的情况仅发生于来自西班牙IP的请求。在欧洲范围内,响应标头包含“ access-control-allow-origin” *。
可以使用curl查看响应标题中缺少的'Access-Control-Allow-Origin':
curl -v -H“来源:https://bla.appspot.com” https://www.googleapis.com/oauth2/v3/certs
...
...
...
<年龄:9060
...
为什么只有西班牙IP会发生这种情况,如何在响应头中获得所需的“ access-control-allow-origin”?
答案 0 :(得分:1)
我在Google支持部门打开了一个案例,今天确认了此修复程序。
“ ... App Engine专家确认问题已经解决,并且已经解决。您可以从头检查并确认吗? ...”
如果西班牙和法国IP要求针对 jwks-uri(“ https://www.googleapis.com/oauth2/v3/certs”) access-control-allow-origin (访问控制允许来源)将再次在响应标头中提供。