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

Angular2 with Auth0, do I need to hide my ClientID and domain?

我一直在使用 Auth0 来构建我网站的前端用户身份验证部分,但不确定我是否应该完全按照文档进行操作。

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

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

客户端标识符和您的域(我假设您指的是分配的 Auth0 域,类似于 [account].auth0.com是两者都考虑了不需要保密的信息

域代表处理身份验证的实体;相当于您的应用程序的 accounts.google.com

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

The client identifier is not a secret; it is exposed to the resource owner and MUST NOT be used alone for client authentication.

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

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