Sha256: 0d8cdbda7484aa9b70ccfc0e2bbca2c224c8f21c76a777b53dabe20f23bcbf29
Contents?: true
Size: 1.76 KB
Versions: 1
Compression:
Stored size: 1.76 KB
Contents
# Authentication system routes route :get, :post, "/auth/:provider/callback" do # flash[:debug] = "params.inspect: #{params.inspect}" user = User.find_by_authentication( params[:provider].to_sym, request.env['omniauth.auth']['uid'] ) if params[:provider] == 'password' && !user.activated?( request.env['omniauth.auth']['uid'] ) auth_state params.merge( result: 'error', error: 'account_not_activated' ) auth_redirect_to_origin( params['on_failure'] ) halt end if user # registered user auth_login( user, remember_me: !!params['remember_me'], provider: params[:provider], uid: request.env['omniauth.auth']['uid'] ) logger.debug( "successfully authenticated: #{params.inspect} ") logger.debug( "user: #{user} ") auth_state result: :success flash[:notice] = t.aerogel.auth.welcome full_name: user.full_name auth_redirect_to_origin( params["on_success"] ) else user = User.create_from_omniauth request.env['omniauth.auth'] unless user.save flash[:error] = t.aerogel.auth.errors.create_from_omniauth errors: user.errors.inspect auth_redirect_to_origin( params["on_failure"] ) end auth_login( user, remember_me: !!params['remember_me'], provider: params[:provider], uid: request.env['omniauth.auth']['uid'] ) flash[:notice] = t.aerogel.auth.welcome_new_user full_name: user.full_name redirect "/user/edit" end end get "/auth/failure" do logger.debug( "failed to authenticate: #{params.inspect} ") flash[:debug] = "params.inspect: #{params.inspect}" auth_state params.merge( result: 'error', error: 'invalid_credentials', provider: params['provider'] || params['strategy'] ) auth_redirect_to_origin( params['on_failure'] ) end # Retrieves auth_state # before do auth_state end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
aerogel-users-1.4.3 | app/routes/auth.rb |