📅  最后修改于: 2023-12-03 15:12:57.704000             🧑  作者: Mango
Solidus 是一个基于 Ruby on Rails 的开源电商平台,其默认凭据(credentials)是用于存储应用程序中的机密信息(如密钥、API 密钥等)的一种加密存储方法。在 Solidus 中,默认凭据使用的是 Encrypted Credentials,它是 Rails 5.2 引入的新功能,旨在为 Rails 应用程序提供一种更安全的凭据管理方案。
Encrypted Credentials 提供了一种更加安全的存储凭据的方式,它会将敏感信息加密并存储在 config/credentials.yml.enc 文件中,而非明文存储在代码或环境变量中。与传统的 Rails 凭据方式不同,Encrypted Credentials 支持将凭据存储在版本控制系统中,从而实现更好的应用程序管理。
在 Solidus 应用程序中,默认凭据可用于存储各种凭据,如 AWS 密钥、支付网关凭据等。您可以在 Solidus 项目的 config/credentials.yml.enc
文件中找到默认凭据。对于开发环境,您可以使用 EDITOR=vim rails credentials:edit
来编辑此文件。在生产环境中,您可以通过在环境变量中设置 RAILS_MASHERY_CREDENTIALS_KEY
来解密此文件。
以下是默认 Solidus 凭据配置示例:
aws:
access_key_id: 1234567890
secret_access_key: 0987654321
payflow:
username: usrname
password: passwd
partner: partner
这个示例中,aws
和 payflow
是两个 Credential Namespaces,它们分别用于存储 AWS 凭据和 Payflow 凭据。您可以将 Credential Namespaces 与 AWS、Payflow 等服务的凭据一一对应,从而实现更好的凭据管理。
要在 Solidus 应用程序中使用默认凭据,您可以通过 Rails.application.credentials
访问它们。例如,要获取上面示例中的 AWS 密钥,您可以使用以下代码:
aws_access_key_id = Rails.application.credentials.aws[:access_key_id]
aws_secret_access_key = Rails.application.credentials.aws[:secret_access_key]
如果您的 Solidus 应用程序需要在其他 Ruby 脚本或外部应用程序中使用默认凭据,您可以使用 RAILS_ENV=production rails credentials:edit
命令来编辑和管理 credentials.yml.enc 文件。这将允许您在本地(如服务器)上安全地存储和管理凭据,同时保护凭据不被泄露。
Solidus 默认凭据使用 Encrypted Credentials 存储机密信息,这是一种更加安全的存储凭据的方式。默认凭据可以存储各种凭据,如 AWS 凭据和 Payflow 凭据等。要在 Solidus 应用程序中使用默认凭据,请使用 Rails.application.credentials
访问它们。您还可以在其他 Ruby 脚本或外部应用程序中使用此凭据,默认凭据将帮助您更安全地管理和维护凭据信息。