HANCO
rails and figaro and device 본문
안녕하세요 멋쟁이 사자처럼 박준영입니다.
Figaro라는 gem파일에 대해서 들어보셨나요?
오늘은 이 gem 파일에 대한 정리를 해보겠습니다.
오늘은 figaro에 대한 정리이니 device gem에 대한 설명은 생략하겠습니다.
Figaro의 자세한 설명은
https://github.com/laserlemon/figaro
이곳에 전부 정리되어 있는데요
쉽게 말해 Oauth를 사용하는데 보안을 생각해 Client_ID나 Secret_Key 값을
깃헙에 올리거나 호스팅시 노출되지 않게 하는 것입니다.
호스팅시에 저러한 값들이 있으면 과금이 부여된다고 하니 과금 부여도 막아줄 수 있겠습니다.
Figaro gem 사용법은
#gemfile에
#figaro 사용 명시
gem "figaro"
그리고
#bash에 입력
bundle install
#figaro 사용시 필요한 application.yml 파일이 생성됩니다.
bundle exec figaro install
Config/application.yml 파일이 생성되어집니다.
Figaro 사용법
#config/application.yml
client_id: "123123"
client_secret: "ABCCDAB"
#config/initialize/device.rb
config.omniauth :google_oauth2, ENV["client_id"], ENV["client_secret"]
위의 코드처럼 client_id, client_secret와 같은 변수를 통한 값을 넣을 수 있습니다.
좋은 점은 외부에서는 저 값을 확인 할 수 없다는 것입니다.
application.yml의 값은 .gitignore 파일에 추가되어 호스팅시에도
외부에서 그 내용을 확인할 수가 없습니다.
ENV란?
위 코드에서 env는 간단한 키나 값등을 뜻하며 env를
이용해 값 들에 대한 결과를 다르게 적용할 수 있습니다.
#config/application.yml
client_id: "123123"
#config/initialize/device.rb
env["client_id"] # => "123123"
env.key?["client_id"] #=> TRUE
env["key or value"]는 이러한 기본구조를 가지며
env.key?["key or value"]의
구조를 사용해 true or false의 값을 얻어낼 수 있습니다.
정리완료
'웹개발 > Ruby on Rails' 카테고리의 다른 글
ActionController::Unkown Format in blahblahController#new (0) | 2018.08.12 |
---|---|
Mac에서 Rails 웹개발 하기(시작) (0) | 2018.06.10 |
AWS Cloud9에서 Ruby on Rails 개발환경 만들기 (0) | 2018.03.16 |