devise gem with heroku
March 09, 2018 | 3 Minute Read
devise
Ruby on Rails application의 유저 관리를 도와주는 gem이다.
https://github.com/plataformatec/devise
gemfile 설정
bundle install
devise 설치
host 설정
개발 IDE로 cloud9를 사용하고 있는데, cloud9은 mail 발송이 막혀있다. 테스트 환경에서는 로그를 통해 메일 confirm을 진행할 수 있다.
model 생성(ex_ Admin model)
여러 model을 사용하기 위한 view 분리 설정
mail sender 주소 변경
view 생성
model에서 confirmation 활성화
mail confirmation을 사용할 경우에만 설정해주면 된다.
migrate file에 주석처리 된 메일 confirmation을 활성화
db migrate
설치가 완료 되면, 다양한 helper를 사용할 수 있다.
rails routes를 통해 생성된 routes를 살펴보고 활용하면 끝.
추가. admin email 검증 설정
admin을 만들 경우, 특정 도메인의 메일로만 가입이 가능하도록 해야 한다.
직접 model을 만들었을 때와 마찬가지로, model 파일에 메일 주소를 검증하는 코드를 넣어주면 된다.
정규식을 원하는 검증 형태로 바꾸어 사용하면 된다.
devise with heroku
하지만 이대로는 heroku에서 production mode로 사용이 불가능하다.
confirm mail을 보낼 수 없기 때문이다.
add-on을 추가함으로써 해결할 수 있다.
sendgrid 추가
https://devcenter.heroku.com/articles/sendgrid
설정 확인
heroku add-on 설정시 자동으로 입력된 변수 출력을 확인한다.
SMTP 설정
참고