12/08/2018, 14:34

ĐẶT BIẾN MÔI TRƯỜNG CỦA BẠN AN TOÀN QUA FIGARO

1. Tại sao Figaro tồn tại Khi bạn đang sử dụng các loại khác nhau của các dịch vụ thông qua các ứng dụng của bạn, bạn sẽ cần một nơi an toàn để lưu trữ thông tin đăng nhập của bạn. Ví dụ, nếu bạn đã thực hiện e-mail trong ứng dụng của bạn, bạn sẽ cần phải lưu tên và mật khẩu của bạn để ứng dụng ...

1. Tại sao Figaro tồn tại

Khi bạn đang sử dụng các loại khác nhau của các dịch vụ thông qua các ứng dụng của bạn, bạn sẽ cần một nơi an toàn để lưu trữ thông tin đăng nhập của bạn. Ví dụ, nếu bạn đã thực hiện e-mail trong ứng dụng của bạn, bạn sẽ cần phải lưu tên và mật khẩu của bạn để ứng dụng của bạn thực sự có thể truy cập vào máy chủ SMTP để gửi e-mail của bạn. Thông thường bạn sẽ lưu trữ tên người dùng và mật khẩu trong các biến môi trường mà bạn có thể quản lý bản thân, giá trị cấu hình thường bao gồm các thông tin nhạy cảm. Tất nhiên bạn sẽ không muốn thông tin của bạn hiển thị trong git của bạn, vì vậy bạn cần một cách để lưu trữ chúng mà không bị mất chúng. Figaro đã được viết để làm cho nó dễ dàng để cấu hình một cách an toàn các ứng dụng Rails.

2. Cài đặt Figaro gem

  • Đầu tiên bạn thêm figago vào gem file và chạy bundle install
  • bundle exec figaro install Chạy bundle install của Figaro sẽ tạo ra một tập tin application.yml trong thư mục cấu hình của bạn và nó sẽ thêm vào .gitignore bạn thêm một dòng mã chỉ định cho git để bỏ qua tập tin application.yml của bạn.

Bây giờ, bạn có thể thêm vào các biến mà bạn muốn lưu trữ một cách an toàn trong ứng dụng của bạn. Trong ví dụ này, mình muốn để lưu trữ thông tin đăng nhập các key app để đăng nhập facebook, twitter, google. Để lưu trữ thông tin của bạn, bạn sẽ thêm chúng vào *application.yml

Những thông tin sẽ được lưu trữ an toàn trong file .yml. Để truy cập và sử dụng các biến bây giờ bạn có thể chỉ định cho họ thông qua các biến ENV. Vì vậy, bây giờ, trong môi trường / file development.rb của mình, mình có thể sử dụng chúng: *application.rb bên cạnh đó bạn có thể dùng Figaro.env để thay cho ENV.

  • Lưu ý: ENV là một key / value đơn giản. Tất cả các giá trị này sẽ được chuyển đổi sang chuỗi.

3. Cài đặt môi trường cụ thể :

Ngoài ra, thông thường, giá trị cấu hình thay đổi tùy thuộc vào môi trường Rails. Trong trường hợp như vậy, bạn có thể thêm các giá trị môi trường cụ thể để tập tin cấu hình của bạn: *application.yml

4. Đặt biến Figaro trên heroku

Nếu bạn muốn sử dụng các biến ở Heroku, chạy: heroku config:set google_analytics_key=UA-35722661-5 Hoặc sử dụng lệnh Figaro, bạn có thể thiết lập các giá trị từ tập tin cấu hình của bạn cùng một lúc: figaro heroku:set -e production

5. Kết luận

Như bạn có thể thấy, với gem Figaro bạn có một cách an toàn có thể lưu trữ thông tin. Có nhiều cách khác để làm điều này, nhưng Figaro hiện hầu hết các công việc cho bạn. Trong ví dụ này mình lưu trữ thông tin các key id và secret của mình, nhưng tất nhiên, bạn có thể lưu trữ bất kỳ thông tin dịch vụ khác.Trong quá trình tìm hiểu về gem còn gặp nhiều thiếu sót, nếu có góp ý mong các bạn comment bên dưới, xin cảm ơn! nguồn : https://github.com/laserlemon/figaro https://railsinplainenglish.com/2014/03/31/tutorial-set-your-environment-variables-securely-through-figaro/

0