|
@@ -14,6 +14,9 @@ def add_gems
|
|
gem 'webpacker', '~> 3.0'
|
|
gem 'webpacker', '~> 3.0'
|
|
gem 'sidekiq', '~> 5.0'
|
|
gem 'sidekiq', '~> 5.0'
|
|
gem 'foreman', '~> 0.84.0'
|
|
gem 'foreman', '~> 0.84.0'
|
|
|
|
+ gem 'omniauth-facebook', '~> 4.0'
|
|
|
|
+ gem 'omniauth-twitter', '~> 1.4'
|
|
|
|
+ gem 'omniauth-github', '~> 1.3'
|
|
end
|
|
end
|
|
|
|
|
|
def add_users
|
|
def add_users
|
|
@@ -98,6 +101,18 @@ def add_administrate
|
|
"announcement_type: Field::Select.with_options(collection: Announcement::TYPES)"
|
|
"announcement_type: Field::Select.with_options(collection: Announcement::TYPES)"
|
|
end
|
|
end
|
|
|
|
|
|
|
|
+def add_multiple_authentication
|
|
|
|
+ insert_into_file "config/routes.rb",
|
|
|
|
+ ', controllers: { omniauth_callbacks: "users/omniauth_callbacks" }',
|
|
|
|
+ after: " devise_for :users"
|
|
|
|
+
|
|
|
|
+ insert_into_file "app/models/user.rb",
|
|
|
|
+ ', :omniauthable',
|
|
|
|
+ after: ' :recoverable, :rememberable, :trackable, :validatable'
|
|
|
|
+
|
|
|
|
+ generate "model Service user:references provider uid access_token access_token_secret refresh_token expires_at:datetime auth:text"
|
|
|
|
+end
|
|
|
|
+
|
|
# Main setup
|
|
# Main setup
|
|
add_gems
|
|
add_gems
|
|
|
|
|
|
@@ -108,6 +123,7 @@ after_bundle do
|
|
add_foreman
|
|
add_foreman
|
|
add_webpack
|
|
add_webpack
|
|
add_announcements
|
|
add_announcements
|
|
|
|
+ add_multiple_authentication
|
|
|
|
|
|
# Migrate
|
|
# Migrate
|
|
rails_command "db:create"
|
|
rails_command "db:create"
|