Class: Lato::AuthenticationController
- Inherits:
 - 
      ApplicationController
      
        
- Object
 - ActionController::Base
 - ApplicationController
 - Lato::AuthenticationController
 
 
- Defined in:
 - app/controllers/lato/authentication_controller.rb
 
Instance Method Summary collapse
- 
  
    
      #accept_invitation  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Accept invitation.
 - #accept_invitation_action ⇒ Object
 - 
  
    
      #recover_password  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Recover password.
 - #recover_password_action ⇒ Object
 - 
  
    
      #signin  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Signin.
 - #signin_action ⇒ Object
 - 
  
    
      #signout  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Signout.
 - #signout_action ⇒ Object
 - 
  
    
      #signup  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Signup.
 - #signup_action ⇒ Object
 - 
  
    
      #update_password  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Update password.
 - #update_password_action ⇒ Object
 - 
  
    
      #verify_email  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Verify email.
 - #verify_email_action ⇒ Object
 - #web3_signin ⇒ Object
 - #web3_signin_action ⇒ Object
 
Methods inherited from ApplicationController
#error, #index, #not_found, #offline, #switch_locale
Methods included from Componentable
Methods included from Layoutable
#active_navbar, #active_sidebar, #hide_sidebar, #page_class, #page_classes, #page_title, #show_sidebar
Methods included from Sessionable
#authenticate_session, #limit_requests, #not_authenticate_session, #session_create, #session_destroy
Instance Method Details
#accept_invitation ⇒ Object
Accept invitation
      166 167 168  | 
    
      # File 'app/controllers/lato/authentication_controller.rb', line 166 def accept_invitation @user = Lato::User.new(email: @invitation.email) end  | 
  
#accept_invitation_action ⇒ Object
      170 171 172 173 174 175 176 177 178 179 180 181 182 183 184  | 
    
      # File 'app/controllers/lato/authentication_controller.rb', line 170 def accept_invitation_action @user = Lato::User.new(registration_params) respond_to do |format| if @user.accept_invitation(params.permit(:id, :accepted_code)) session_create(@user.id) format.html { redirect_to lato.root_path } format.json { render json: @user } else format.html { render :accept_invitation, status: :unprocessable_entity } format.json { render json: @user.errors, status: :unprocessable_entity } end end end  | 
  
#recover_password ⇒ Object
Recover password
      128 129 130  | 
    
      # File 'app/controllers/lato/authentication_controller.rb', line 128 def recover_password @user = Lato::User.new end  | 
  
#recover_password_action ⇒ Object
      132 133 134 135 136 137 138 139 140 141 142 143 144  | 
    
      # File 'app/controllers/lato/authentication_controller.rb', line 132 def recover_password_action @user = Lato::User.new respond_to do |format| if @user.request_recover_password(params.require(:user).permit(:email)) format.html { redirect_to lato.authentication_update_password_path(id: @user.id) } format.json { render json: @user } else format.html { render :recover_password, status: :unprocessable_entity } format.json { render json: @user.errors, status: :unprocessable_entity } end end end  | 
  
#signin ⇒ Object
Signin
      19 20 21  | 
    
      # File 'app/controllers/lato/authentication_controller.rb', line 19 def signin @user = Lato::User.new end  | 
  
#signin_action ⇒ Object
      23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40  | 
    
      # File 'app/controllers/lato/authentication_controller.rb', line 23 def signin_action @user = Lato::User.new respond_to do |format| if @user.signin(params.require(:user).permit(:email, :password).merge( ip_address: request.remote_ip, user_agent: request.user_agent )) session_create(@user.id) format.html { redirect_to lato.root_path } format.json { render json: @user } else format.html { render :signin, status: :unprocessable_entity } format.json { render json: @user.errors, status: :unprocessable_entity } end end end  | 
  
#signout ⇒ Object
Signout
      95  | 
    
      # File 'app/controllers/lato/authentication_controller.rb', line 95 def signout; end  | 
  
#signout_action ⇒ Object
      97 98 99 100 101 102 103 104  | 
    
      # File 'app/controllers/lato/authentication_controller.rb', line 97 def signout_action session_destroy respond_to do |format| format.html { redirect_to lato.root_path } format.json { render json: {} } end end  | 
  
#signup ⇒ Object
Signup
      72 73 74  | 
    
      # File 'app/controllers/lato/authentication_controller.rb', line 72 def signup @user = Lato::User.new end  | 
  
#signup_action ⇒ Object
      76 77 78 79 80 81 82 83 84 85 86 87 88 89 90  | 
    
      # File 'app/controllers/lato/authentication_controller.rb', line 76 def signup_action @user = Lato::User.new(registration_params) respond_to do |format| if @user.signup(ip_address: request.remote_ip, user_agent: request.user_agent) session_create(@user.id) format.html { redirect_to lato.root_path } format.json { render json: @user } else format.html { render :signup, status: :unprocessable_entity } format.json { render json: @user.errors, status: :unprocessable_entity } end end end  | 
  
#update_password ⇒ Object
Update password
      149  | 
    
      # File 'app/controllers/lato/authentication_controller.rb', line 149 def update_password; end  | 
  
#update_password_action ⇒ Object
      151 152 153 154 155 156 157 158 159 160 161  | 
    
      # File 'app/controllers/lato/authentication_controller.rb', line 151 def update_password_action respond_to do |format| if @user.update_password(params.require(:user).permit(:code, :password, :password_confirmation)) format.html { redirect_to lato.authentication_signin_path, notice: I18n.t('lato.authentication_controller.update_password_action_notice') } format.json { render json: @user } else format.html { render :update_password, status: :unprocessable_entity } format.json { render json: @user.errors, status: :unprocessable_entity } end end end  | 
  
#verify_email ⇒ Object
Verify email
      109 110 111  | 
    
      # File 'app/controllers/lato/authentication_controller.rb', line 109 def verify_email @code = params[:code] end  | 
  
#verify_email_action ⇒ Object
      113 114 115 116 117 118 119 120 121 122 123  | 
    
      # File 'app/controllers/lato/authentication_controller.rb', line 113 def verify_email_action respond_to do |format| if @user.verify_email(params.require(:user).permit(:code)) format.html { redirect_to lato.root_path, notice: I18n.t('lato.authentication_controller.verify_email_action_notice') } format.json { render json: @user } else format.html { render :verify_email, status: :unprocessable_entity } format.json { render json: @user.errors, status: :unprocessable_entity } end end end  | 
  
#web3_signin ⇒ Object
      42 43 44 45  | 
    
      # File 'app/controllers/lato/authentication_controller.rb', line 42 def web3_signin @user = Lato::User.new session[:web3_nonce] = SecureRandom.hex(32) end  | 
  
#web3_signin_action ⇒ Object
      47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67  | 
    
      # File 'app/controllers/lato/authentication_controller.rb', line 47 def web3_signin_action @user = Lato::User.new respond_to do |format| if @user.web3_signin(params.require(:user).permit(:web3_address, :web3_signed_nonce).merge( ip_address: request.remote_ip, user_agent: request.user_agent, web3_nonce: session[:web3_nonce] )) session[:web3_nonce] = nil session_create(@user.id) format.html { redirect_to lato.root_path } format.json { render json: @user } else session[:web3_nonce] = nil format.html { render :web3_signin, status: :unprocessable_entity } format.json { render json: @user.errors, status: :unprocessable_entity } end end end  |