在 public 存储库中公开 Okta clientId 是否安全?

Is it safe to expose Okta clientId in a public repository?

配置Okta authentication in a Angular application it is needed to add a config variable with the settings for your OIDC app in the app.module.ts file. source

const config = {
    issuer: 'https://dev-123456.oktapreview.com/oauth2/default',
    redirectUri: 'http://localhost:4200/implicit/callback',
    clientId: '{clientId}'
};

其中 {clientId} 替换为实际的 clientId

将此应用程序推送到 public 存储库意味着 clientId 公开给所有人查看。我的问题是这是否会构成任何类型的安全风险?

在我的研究中,我发现了几个关于 Firebase 使用的 apiKey 的类似问题:

就 Firebase 而言,共享 apiKey 似乎没有什么坏处。但是不知道Okta的clientId是不是采用了类似的原理?

我还在 Github 上研究了一些实施 Okta 身份验证的 public 存储库。这些存储库中的大多数似乎公开了 clientId,这让我假设共享 clientId 没有问题。真的是这样吗?

将您的客户端 ID 放入 GitHub 存储库应该不会有任何安全问题。该值类似于汽车上的牌照。它只是一个标识符,并定期在 URL 中传递以用于授权请求。

客户端机密是您不想公开的值。它不应存储在源代码管理中。我建议存储一个虚拟值并用环境变量覆盖它。