@@ -176,7 +176,7 @@ def oauth_callback
176176 redirect_uri : oauth_callback_url ,
177177 code_verifier : code_verifier )
178178 userinfo_response = token . get (
179- "/oauth2/#{ RedmineOauth . tenant_id } /v1/userinfo" ,
179+ "/oauth2/#{ oauth_provider . tenant_id } /v1/userinfo" ,
180180 headers : { 'Accept' => 'application/json' }
181181 )
182182 user_info = JSON . parse ( userinfo_response . body )
@@ -187,17 +187,17 @@ def oauth_callback
187187 token = RedmineOauth ::OauthClient . client ( oauth_provider ) . auth_code . get_token ( params [ 'code' ] ,
188188 redirect_uri : oauth_callback_url ,
189189 code_verifier : code_verifier )
190- if RedmineOauth . custom_profile_endpoint . empty?
190+ if oauth_provider . custom_profile_endpoint . empty?
191191 user_info = JWT . decode ( token . token , nil , false ) . first
192192 else
193193 userinfo_response = token . get (
194- RedmineOauth . custom_profile_endpoint ,
194+ oauth_provider . custom_profile_endpoint ,
195195 headers : { 'Accept' => 'application/json' }
196196 )
197197 user_info = JSON . parse ( userinfo_response . body )
198198 end
199- user_info [ 'login' ] = user_info [ RedmineOauth . custom_uid_field ]
200- email = user_info [ RedmineOauth . custom_email_field ]
199+ user_info [ 'login' ] = user_info [ oauth_provider . custom_uid_field ]
200+ email = user_info [ oauth_provider . custom_email_field ]
201201 else
202202 raise StandardError , l ( :oauth_invalid_provider )
203203 end
@@ -229,7 +229,7 @@ def oauth_callback
229229
230230 # Try to log in
231231 set_params
232- try_to_login email , user_info , non_default_roles
232+ try_to_login email , user_info , non_default_roles , oauth_provider
233233 session [ :oauth_login ] = oauth_provider . id
234234 rescue StandardError => e
235235 Rails . logger . error e . message
@@ -269,13 +269,13 @@ def set_params
269269 session . delete :oauth_autologin
270270 end
271271
272- def try_to_login ( email , info , role_names )
272+ def try_to_login ( email , info , role_names , oauth_provider )
273273 # Login name
274274 login = info [ 'login' ]
275275 login ||= info [ 'unique_name' ]
276276 login ||= info [ 'preferred_username' ]
277277 # Find the user
278- user = case RedmineOauth . identify_user_by
278+ user = case oauth_provider . identify_user_by
279279 when 'login'
280280 User . where ( 'LOWER(login) = ?' , login . downcase ) . first
281281 else
@@ -302,8 +302,8 @@ def try_to_login(email, info, role_names)
302302 # Create on the fly
303303 user = User . new
304304 user . mail = email
305- user . firstname = info [ RedmineOauth . custom_firstname_field ]
306- user . lastname = info [ RedmineOauth . custom_lastname_field ]
305+ user . firstname = info [ oauth_provider . custom_firstname_field ]
306+ user . lastname = info [ oauth_provider . custom_lastname_field ]
307307 first_name , last_name = info [ 'name' ] . split if info [ 'name' ] . present?
308308 user . firstname ||= first_name
309309 user . lastname ||= last_name
@@ -332,7 +332,7 @@ def try_to_login(email, info, role_names)
332332 raise StandardError , l ( :notice_account_invalid_credentials )
333333 end
334334
335- if RedmineOauth . enable_group_roles?
335+ if oauth_provider . enable_group_roles?
336336 desired_groups = Group . where ( lastname : role_names )
337337 user . group_ids = desired_groups . ids
338338 end
0 commit comments