Add a way to get user based on sso external id

This commit is contained in:
Neil Lalonde
2014-06-18 14:40:15 -04:00
parent b16e283d0f
commit ad2bd11d6e
3 changed files with 22 additions and 4 deletions

View File

@ -208,10 +208,13 @@ class ApplicationController < ActionController::Base
end
def fetch_user_from_params
username_lower = params[:username].downcase
username_lower.gsub!(/\.json$/, '')
user = User.find_by(username_lower: username_lower)
user = if params[:username]
username_lower = params[:username].downcase
username_lower.gsub!(/\.json$/, '')
User.find_by(username_lower: username_lower)
elsif params[:external_id]
SingleSignOnRecord.find_by(external_id: params[:external_id]).try(:user)
end
raise Discourse::NotFound.new if user.blank?
guardian.ensure_can_see!(user)