【问题标题】:Implement Auth0 in http (non-secure mode)在 http 中实现 Auth0(非安全模式)
【发布时间】:2020-06-24 07:16:28
【问题描述】:

我需要为一家公司创建一个带有auth0的应用程序,但是这家公司的网站是HTTP的,它不会将其更改为HTTPS,即使这样我也需要使用Auth0,但乍一看是不可能的,那里有什么方法可以避免以下错误?

【问题讨论】:

  • 您可能需要向他们解释,任何通过 HTTP 进行的身份验证一开始几乎都是无用的。如果这不是您想要的答案,我很抱歉,但作为专家,您的工作是向他们解释,而不是试图绕过它并提供不安全的解决方案。有时,如果客户不听理由,最好放弃合同 - 否则将来可能会咬你。

标签: angular auth0


【解决方案1】:

SDK 在内部使用 Web Cryptography API 创建 SHA-256 摘要。

根据规范(通过 Github 问题),Web Cryptography API 需要安全来源,因此在不安全的上下文中访问 Crypto.subtle 会返回未定义。

在大多数浏览器中,安全源是至少匹配以下模式之一(方案、主机、端口)的源:

(https, *, *)
(wss, *, *)
(*, localhost, *)
(*, 127/8, *)
(*, ::1/128, *)
(file, *, —)

如果您从安全来源运行应用程序,则您的浏览器可能不支持 Web Crypto API。兼容性表请查看https://caniuse.com/#feat=mdn-api_subtlecrypto https://github.com/auth0/auth0-spa-js/blob/master/FAQ.md#why-do-i-get-auth0-spa-js-must-run-on-a-secure-origin

【讨论】:

    【解决方案2】:

    Safari 没有遇到此限制。但是,Chrome 和 Firefox 可以。

    【讨论】:

      猜你喜欢
      • 2015-05-30
      • 2017-02-16
      • 2020-04-11
      • 1970-01-01
      • 1970-01-01
      • 2010-12-12
      • 2011-06-23
      相关资源
      最近更新 更多