赛普拉斯无法使用新的 auth0-spa-js 包请求 API 或显示内容

Jac*_*rcy 5 auth0 cypress

我尝试使用新包 ( https://github.com/auth0/auth0-spa-js )登录到 Auth0 。

尝试 1:我确实尝试了一个最佳实践,它使用cy.request()但看起来像新的auth0-spa-js包现在loginWithRedirect在请求 URL 中需要一个随机状态字符串(我没有,它是从函数生成的)。所以我不能在 Auth0 的 API 中调用登录

尝试 2:我设置"chromeWebSecurity": false,单击登录按钮 -> 我的网站被重定向到 Auth0 页面,URL 已正确加载,但 Auth0 拒绝auth0 url在框架中显示“ ”,因为祖先违反了以下内容安全策略指令:“框架-祖先‘无’”。

各位大侠有什么解决办法吗?

Jac*_*rcy -1

目前,这是我的解决方案。

\n\n
    \n
  1. 在 Cypress 配置中禁用 chrome 安全性。
  2. \n
  3. 通过 auth0 页面登录(我们将重定向到登录页面并注销,因为我无法在新的 auth0 包中生成随机状态:auth0-spa-js)
  4. \n
\n\n

注意:如果您\xe2\x80\x99不是auth0中的自定义登录页面,请使用通用登录中的经典页面。我发现 Auth0 登录页面的新 UI 有很多安全增强功能,可以防止我们在 iframe 中渲染 auth0。(如下图所示)

\n\n

Auth0设置

\n\n

然后,转到 Auth0 -> 租户设置 -> 高级 -> 启用点击劫持保护以允许 auth0 在 iframe 中加载。

\n\n

埃纳尔贝点击劫持

\n\n

好的,这就是我为使其发挥作用所做的所有步骤。希望这对您有帮助

\n