Angular2与Auth0,我需要隐藏我的ClientID和域吗?

Syn*_*ose 4 auth0 angular

我一直在使用Auth0来构建我的站点的前端用户身份验证部分,但我不确定是否应该完全遵循文档.

如果我想构建商业产品,我应该隐藏客户端ID和域吗?这会导致安全漏洞吗?

目前,任何人都可以查看我的Angular2源代码并查看客户端ID和域.

Joã*_*elo 7

客户端标识与您的域(这我假设你指的是类似分配Auth0域[account].auth0.com)是不需要保密的考虑两者的信息.

域代表处理身份验证的实体; 相当于accounts.google.com您的申请.

客户端标识符在OAuth 2.0规范中定义,该规范明确指出不是机密信息:

客户端标识符不是秘密; 它暴露给资源所有者,不得单独用于客户端身份验证.

在基于浏览器或其他应用程序中,实际代码位于客户端环境中,将信息存储在那里以进行身份​​验证是不可避免的.您只需要确保存储的信息可以像您提供的两个示例一样公开.

另一方面,这些类型的应用程序无法安全地使用客户机密码,因为它是由OAuth 2.0定义的,因为正如您所说,任何人都可以通过检查代码来查看它.

  • 根据OAuth2规则,您需要指定重定向URL以接收令牌; 可以与您尝试模拟的客户端ID关联使用的重定向URL集在执行OAuth请求时已预先注册和验证.您的虚假客户端可以启动请求,但如果它指定了一个不受其控制的有效重定向URL,那么它将永远不会收到该令牌,如果它试图在虚假客户端控件下指定重定向URL,则该请求将无法通过验证. (2认同)