使用 oidc-client.js 的检查会话的 CSP 问题
Posted
技术标签:
【中文标题】使用 oidc-client.js 的检查会话的 CSP 问题【英文标题】:CSP issues with checksession using oidc-client.js 【发布时间】:2017-11-22 21:28:50 【问题描述】:我正在使用 oidc-client 构建一个 SPA,以登录到使用 Identity Server 4 构建的 IDP。
登录重定向似乎工作正常,但在 Firefox 上我遇到了以下 CSP 问题
Content Security Policy: Ignoring "'unsafe-inline'" within script-src or style-src: nonce-source or hash-source specified (unknown)
Content Security Policy: The page's settings blocked the loading of a resource at self ("script-src 'unsafe-inline' 'sha256-VDXN0nOpFPQ102CIVz+eimHA5e+wTeoUUQj5ZYbtn8w='"). Source: !function(t)function __webpack_require_.... checksession:1
Content Security Policy: The page's settings blocked the loading of a resource at self ("script-src 'unsafe-inline' 'sha256-VDXN0nOpFPQ102CIVz+eimHA5e+wTeoUUQj5ZYbtn8w='"). Source: window.devToolsOptions = Object.assign(w.... checksession:1
Load denied by X-Frame-Options: http://localhost:5007/home/error?errorId=a74accc61bb821ee1f42f7013a306e90 does not permit cross-origin framing. (unknown)
我没有在我的 SPA 上设置任何 CSP 元标记,我想知道是否必须这样做。 稍微挖掘一下,oidc-client 似乎在我的应用程序中添加了一个 iframe,它指向 Identity Server 中的 checksession 页面(其中确实包括 CSP 标头“default-src 'none'; script-src 'unsafe-inline' ” sha256-VDXN0nOpFPQ102CIVz+eimHA5e+wTeoUUQj5ZYbtn8w='")
有人可以帮我解决这个问题或引导我走向正确的方向吗?我对 CSP 的了解非常基础。
【问题讨论】:
我恰好正在诊断完全相同的问题。我们正在体验 chrome 中的行为。我刚刚更新了 IDSrvr4。可能与github.com/IdentityServer/IdentityServer4/issues/659 有关。或者这个..***.com/questions/41854600/… 当应用程序在令牌过期时关闭时,您是否还在 signinSilent 中遇到“框架窗口超时”? github.com/IdentityModel/oidc-client-js/issues/311 在这里打开这个.. github.com/IdentityModel/oidc-client-js/issues/357 【参考方案1】:这是 Redux devtools 插件试图在页面上注入他们的代码。
【讨论】:
以上是关于使用 oidc-client.js 的检查会话的 CSP 问题的主要内容,如果未能解决你的问题,请参考以下文章