Back to listRuby
Devise - Authentication Configuration
Lv.5934@mukitaro12 playsDec 31, 2025
Devise authentication setup with OmniAuth integration and custom parameter sanitization.
preview.ruby
1class User < ApplicationRecord2 devise :database_authenticatable, :registerable,3 :recoverable, :rememberable, :validatable,4 :confirmable, :lockable, :trackable,5 :omniauthable, omniauth_providers: [:google, :github]6 7 def self.from_omniauth(auth)8 where(provider: auth.provider, uid: auth.uid).first_or_create do |user|9 user.email = auth.info.email10 user.password = Devise.friendly_token[0, 20]11 user.name = auth.info.name12 user.avatar_url = auth.info.image13 user.skip_confirmation!14 end15 end16end17 18class ApplicationController < ActionController::Base19 before_action :authenticate_user!20 before_action :configure_permitted_parameters, if: :devise_controller?21 22 protected23 24 def configure_permitted_parameters25 devise_parameter_sanitizer.permit(:sign_up, keys: [:name, :username])26 devise_parameter_sanitizer.permit(:account_update, keys: [:name, :avatar])27 end28endCustom problems are not included in rankings