要在Angular应用程序中配置Okta身份验证,需要在config
文件中添加OIDC
应用变量设置的app.module.ts
变量。 source
const config = {
issuer: 'https://dev-123456.oktapreview.com/oauth2/default',
redirectUri: 'http://localhost:4200/implicit/callback',
clientId: '{clientId}'
};
将{clientId}
替换为实际的clientId
。
将此应用程序推送到公共存储库将意味着clientId
向所有人公开。我的问题是,这是否会构成任何形式的安全风险?
在研究中,我发现了有关Firebase使用的apiKey
的几个类似问题:
对于Firebase,共享apiKey
似乎没有害处。但是我不确定Okta的clientId
是否使用类似的原则?
我还研究了一些在Github上实现Okta身份验证的公共存储库。这些存储库中的大多数似乎都暴露了clientId
,这使我认为共享clientId
没有问题。确实是这样吗?
答案 0 :(得分:1)
将您的客户ID放入GitHub存储库中应该不会有任何安全问题。该值类似于汽车上的车牌。它只是一个标识符,会定期在URL中传递以进行授权请求。
客户机密是您不想暴露的价值。不应将其存储在源代码管理中。我建议存储一个虚拟值,并用环境变量覆盖它。