Merge branch '1600-native-keep-client'
[arvados.git] / services / api / app / controllers / user_sessions_controller.rb
index 537c1aa4110e9fecf2a4b06a8238899a048288ca..45edc9049bf8dff321a6b483b1ce63fb40e79767 100644 (file)
@@ -1,7 +1,6 @@
 class UserSessionsController < ApplicationController
-  before_filter :login_required, :only => [ :destroy ]
+  before_filter :require_auth_scope_all, :only => [ :destroy ]
 
-  skip_before_filter :uncamelcase_params_hash_keys
   skip_before_filter :find_object_by_uuid
 
   respond_to :html
@@ -14,12 +13,10 @@ class UserSessionsController < ApplicationController
     identity_url_ok = (omniauth['info']['identity_url'].length > 0) rescue false
     unless identity_url_ok
       # Whoa. This should never happen.
+      logger.error "UserSessionsController.create: omniauth object missing/invalid"
+      logger.error "omniauth.pretty_inspect():\n\n#{omniauth.pretty_inspect()}"
 
-      @title = "UserSessionsController.create: omniauth object missing/invalid"
-      @body = "omniauth.pretty_inspect():\n\n#{omniauth.pretty_inspect()}"
-
-      view_context.fatal_error(@title,@body)
-      return redirect_to openid_login_error_url
+      return redirect_to login_failure_url
     end
 
     user = User.find_by_identity_url(omniauth['info']['identity_url'])
@@ -28,7 +25,8 @@ class UserSessionsController < ApplicationController
       user = User.new(:email => omniauth['info']['email'],
                       :first_name => omniauth['info']['first_name'],
                       :last_name => omniauth['info']['last_name'],
-                      :identity_url => omniauth['info']['identity_url'])
+                      :identity_url => omniauth['info']['identity_url'],
+                      :is_active => Rails.configuration.new_users_are_active)
     else
       user.email = omniauth['info']['email']
       user.first_name = omniauth['info']['first_name']