我在我的Angular应用中使用Stripe支付系统。像下面这样在代码中存储密钥是否安全,或者应该以另一种更安全的方式完成?
var handler = (<any>window).StripeCheckout.configure({
key: 'pk_test_JsdSDASDsds2e213edwqsaP7',
locale: 'auto',
你不应该在Angular中存储任何敏感键。如果它是在角上,它不是秘密存储,它是公开访问的。但是你所拥有的密钥并不是一个秘密密钥,它是一个可发布的密钥,这意味着它是用于公共访问的。
你上面的评论回复看起来你在做正确的事情。
你的秘密应该总是在私有api的(确保这些密钥没有发布到公共git仓库隐藏他们在。gitignore)使用谷歌秘密管理器是伟大的!
如果有人拿了你的pk_key,他们只能用这个密钥向你的端点发出请求(这是不太可能发生的)。为了防止这种情况,你可以在你的api上启用cors来阻止不必要的web请求。
至于你应该如何储存钥匙,我建议你使用环境。由于以下几个原因,这是一种常见的做法。检查、更新或删除键很容易。当为不同的环境设置管道时,如果没有这个方法,您将无法轻松地更改它,这使得本地开发更容易。