From ee449b0dd5be9a85eed598cddedcc9875de2214a Mon Sep 17 00:00:00 2001
From: Guo Xiang Tan <tgx_world@hotmail.com>
Date: Thu, 13 Apr 2017 11:39:26 +0800
Subject: [PATCH] Improve SSO verbose log when user record is invalid.

---
 app/controllers/session_controller.rb | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/app/controllers/session_controller.rb b/app/controllers/session_controller.rb
index 49e7639974f..96259d430d4 100644
--- a/app/controllers/session_controller.rb
+++ b/app/controllers/session_controller.rb
@@ -137,15 +137,18 @@ class SessionController < ApplicationController
     rescue ActiveRecord::RecordInvalid => e
 
       if SiteSetting.verbose_sso_logging
-        Rails.logger.warn(<<-EOF)
-          Verbose SSO log: Record was invalid: #{e.record.class.name} #{e.record.id}\n
-          #{e.record.errors.to_h}\n
-          \n
-          #{sso.diagnostics}
+        Rails.logger.warn(<<~EOF)
+        Verbose SSO log: Record was invalid: #{e.record.class.name} #{e.record.id}
+        #{e.record.errors.to_h}
+
+        Attributes:
+        #{e.record.attributes.slice(*SingleSignOn::ACCESSORS.map(&:to_s))}
+
+        SSO Diagnostics:
+        #{sso.diagnostics}
         EOF
       end
 
-
       text = nil
 
       # If there's a problem with the email we can explain that