通常情况下密钥是有专人来管理的,假如项目有多人开发,管理密钥的可能就是你的owner,
在ruby中主要是通过两个文件来实现的密钥管理的master.key credentials.yml.enc
master.key:主要是用来加密开发定义的key
credentials.yml.enc: 存放了加密master.key的key
graph TD
key1 --> key集合生成加密key存于master.key
key2 --> key集合生成加密key存于master.key
key3 --> key集合生成加密key存于master.key
key集合生成加密key存于master.key --> master.key加密生成credentials.yml.enc
怎么生成key
如果第一次使用的话,需要删除无用的credentials.yml.enc 使用命令
EDITOR: 编辑方式,可以使用vscode 或者其他编辑器的命令,在编辑完后再保存临时文件,关闭临时文件后就会创建成功
EDITOR="code --wait" bin/rails credentials:edit
假如需要修改key,还是使用上面的命冷,但是需要注意的是master.key不能上传,只能本地留存,下次修改的时候也是通master.key,解密出你之前的key集合,创建临时文件供你修改
怎么查看key的值
生成后的key ,其他开发怎么查看key值呢
- 先进入ruby控制台
bin/rails console
or
bin/rails c
- 查看
Rails.application.credentials.keyName