📜  默认solidus凭据 (1)

📅  最后修改于: 2023-12-03 15:12:57.704000             🧑  作者: Mango

Solidus 默认凭据

Solidus 是一个基于 Ruby on Rails 的开源电商平台,其默认凭据(credentials)是用于存储应用程序中的机密信息(如密钥、API 密钥等)的一种加密存储方法。在 Solidus 中,默认凭据使用的是 Encrypted Credentials,它是 Rails 5.2 引入的新功能,旨在为 Rails 应用程序提供一种更安全的凭据管理方案。

Encrypted Credentials

Encrypted Credentials 提供了一种更加安全的存储凭据的方式,它会将敏感信息加密并存储在 config/credentials.yml.enc 文件中,而非明文存储在代码或环境变量中。与传统的 Rails 凭据方式不同,Encrypted Credentials 支持将凭据存储在版本控制系统中,从而实现更好的应用程序管理。

Solidus 默认凭据

在 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

这个示例中,awspayflow 是两个 Credential Namespaces,它们分别用于存储 AWS 凭据和 Payflow 凭据。您可以将 Credential Namespaces 与 AWS、Payflow 等服务的凭据一一对应,从而实现更好的凭据管理。

使用 Solidus 默认凭据

要在 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 脚本或外部应用程序中使用此凭据,默认凭据将帮助您更安全地管理和维护凭据信息。