diff --git a/app/controllers/authentications/confirmations_controller.rb b/app/controllers/authentications/confirmations_controller.rb new file mode 100644 index 0000000..c7f4dd2 --- /dev/null +++ b/app/controllers/authentications/confirmations_controller.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +class Authentications::ConfirmationsController < Devise::ConfirmationsController + # GET /resource/confirmation/new + # def new + # super + # end + + # POST /resource/confirmation + # def create + # super + # end + + # GET /resource/confirmation?confirmation_token=abcdef + # def show + # super + # end + + # protected + + # The path used after resending confirmation instructions. + # def after_resending_confirmation_instructions_path_for(resource_name) + # super(resource_name) + # end + + # The path used after confirmation. + # def after_confirmation_path_for(resource_name, resource) + # super(resource_name, resource) + # end +end diff --git a/app/controllers/authentications/omniauth_callbacks_controller.rb b/app/controllers/authentications/omniauth_callbacks_controller.rb new file mode 100644 index 0000000..1256972 --- /dev/null +++ b/app/controllers/authentications/omniauth_callbacks_controller.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +class Authentications::OmniauthCallbacksController < Devise::OmniauthCallbacksController + # You should configure your model like this: + # devise :omniauthable, omniauth_providers: [:twitter] + + # You should also create an action method in this controller like this: + # def twitter + # end + + # More info at: + # https://github.com/heartcombo/devise#omniauth + + # GET|POST /resource/auth/twitter + # def passthru + # super + # end + + # GET|POST /users/auth/twitter/callback + # def failure + # super + # end + + # protected + + # The path used when OmniAuth fails + # def after_omniauth_failure_path_for(scope) + # super(scope) + # end +end diff --git a/app/controllers/authentications/passwords_controller.rb b/app/controllers/authentications/passwords_controller.rb new file mode 100644 index 0000000..edce788 --- /dev/null +++ b/app/controllers/authentications/passwords_controller.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +class Authentications::PasswordsController < Devise::PasswordsController + # GET /resource/password/new + # def new + # super + # end + + # POST /resource/password + # def create + # super + # end + + # GET /resource/password/edit?reset_password_token=abcdef + # def edit + # super + # end + + # PUT /resource/password + # def update + # super + # end + + # protected + + # def after_resetting_password_path_for(resource) + # super(resource) + # end + + # The path used after sending reset password instructions + # def after_sending_reset_password_instructions_path_for(resource_name) + # super(resource_name) + # end +end diff --git a/app/controllers/authentications/registrations_controller.rb b/app/controllers/authentications/registrations_controller.rb new file mode 100644 index 0000000..5c54517 --- /dev/null +++ b/app/controllers/authentications/registrations_controller.rb @@ -0,0 +1,62 @@ +# frozen_string_literal: true + +class Authentications::RegistrationsController < Devise::RegistrationsController + # before_action :configure_sign_up_params, only: [:create] + # before_action :configure_account_update_params, only: [:update] + + # GET /resource/sign_up + # def new + # super + # end + + # POST /resource + # def create + # super + # end + + # GET /resource/edit + # def edit + # super + # end + + # PUT /resource + # def update + # super + # end + + # DELETE /resource + # def destroy + # super + # end + + # GET /resource/cancel + # Forces the session data which is usually expired after sign + # in to be expired now. This is useful if the user wants to + # cancel oauth signing in/up in the middle of the process, + # removing all OAuth session data. + # def cancel + # super + # end + + # protected + + # If you have extra params to permit, append them to the sanitizer. + # def configure_sign_up_params + # devise_parameter_sanitizer.permit(:sign_up, keys: [:attribute]) + # end + + # If you have extra params to permit, append them to the sanitizer. + # def configure_account_update_params + # devise_parameter_sanitizer.permit(:account_update, keys: [:attribute]) + # end + + # The path used after sign up. + # def after_sign_up_path_for(resource) + # super(resource) + # end + + # The path used after sign up for inactive accounts. + # def after_inactive_sign_up_path_for(resource) + # super(resource) + # end +end diff --git a/app/controllers/authentications/sessions_controller.rb b/app/controllers/authentications/sessions_controller.rb new file mode 100644 index 0000000..6fdf49b --- /dev/null +++ b/app/controllers/authentications/sessions_controller.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +class Authentications::SessionsController < Devise::SessionsController + # before_action :configure_sign_in_params, only: [:create] + + # GET /resource/sign_in + # def new + # super + # end + + # POST /resource/sign_in + # def create + # super + # end + + # DELETE /resource/sign_out + # def destroy + # super + # end + + # protected + + # If you have extra params to permit, append them to the sanitizer. + # def configure_sign_in_params + # devise_parameter_sanitizer.permit(:sign_in, keys: [:attribute]) + # end +end diff --git a/app/controllers/authentications/unlocks_controller.rb b/app/controllers/authentications/unlocks_controller.rb new file mode 100644 index 0000000..a4314d1 --- /dev/null +++ b/app/controllers/authentications/unlocks_controller.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +class Authentications::UnlocksController < Devise::UnlocksController + # GET /resource/unlock/new + # def new + # super + # end + + # POST /resource/unlock + # def create + # super + # end + + # GET /resource/unlock?unlock_token=abcdef + # def show + # super + # end + + # protected + + # The path used after sending unlock password instructions + # def after_sending_unlock_instructions_path_for(resource) + # super(resource) + # end + + # The path used after unlocking the resource + # def after_unlock_path_for(resource) + # super(resource) + # end +end diff --git a/config/routes.rb b/config/routes.rb index 277e495..4e9e5ef 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,5 +1,4 @@ Rails.application.routes.draw do - devise_for :users # Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html # Reveal health status on /up that returns 200 if the app boots with no exceptions, otherwise 500. @@ -12,4 +11,24 @@ Rails.application.routes.draw do # Defines the root path route ("/") root "pages#home" + + # Routes for devise authentication Gem + # Bind devise to user + # devise_for :users + devise_for :users, path: "authentications", path_names: { + sign_up: "register", # Route for user registration + sign_in: "login", # Route for user login + sign_out: "logout", # Route for user logout + password: "reset-password", # Route for changing password + confirmation: "verification", # Route for account confirmation + unlock: "unblock", # Route for account unlock + registration: "register" # Route for user registration (redundant with sign_up) + }, + controllers: { + sessions: "authentications/sessions", # Custom controller for sessions + registrations: "authentications/registrations", # Custom controller for registrations + passwords: "authentications/passwords", # Custom controller for passwords + confirmation: "authentications/confirmations" # Custom controller for confirmations + } + end