git clone [email protected]:TheBotFiction/taro_face.git
cd taro_face
bundle install
rails db:create db:migrate db:seed
and go
rails server
- GraphQL: http://localhost:3000/graphql
- GraphIQL: http://localhost:3000/graphiql
# Gemfile
gem "devise"
gem "devise-fireauth"
$ bundle install
$ rails generate devise:install
- Modify
config/initializers/devise.rb
- # config.authentication_keys = [:email]
+ config.authentication_keys = [:id_token]
- config.strip_whitespace_keys = [:email]
+ config.strip_whitespace_keys = [:email, :id_token]
+ config.fireauth do |c|
+ c.api_key = Chamber.env.firebase.api_key
+ end
- Modify
config/settings.yml
development:
+ firebase:
+ _secure_api_key: The-API-Key
- Secure the credentials by running
chamber secure
- Generate
User
model
$ rails generate devise User
- Modify
app/models/user.rb
- devise :database_authenticatable, :registerable,
- :recoverable, :rememberable, :validatable
+ devise :firebase_authenticatable
$ rails db:migrate --trace
- Implement
User.from_firebase
method toapp/models/user.rb
+ class << self
+ def from_firebase(auth_hash)
+ user = User.find_or_create_by(email: auth_hash["email"])
+ user
+ end
+ end