@@ -54,8 +54,11 @@ def confirm_cd
5454 end
5555
5656 # Everybody
57+ # rubocop:disable Metrics/AbcSize
5758 def register
58- return redirect_to organization_invitation_url ( @organization , @invitation ) unless verification_complete?
59+ unless session [ "invitation_status_#{ @invitation . id } " ] == 'verification_complete'
60+ return redirect_to organization_invitation_url ( @organization , @invitation )
61+ end
5962
6063 return unless create_link
6164
@@ -69,18 +72,19 @@ def register
6972 rescue UserInfoServiceError => e
7073 handle_user_info_service_error ( e , 2 )
7174 end
75+ # rubocop:enable Metrics/AbcSize
7276
7377 def login
7478 login_session
7579 Rails . logger . info ( [ 'User began login flow' ,
7680 { actionContext : LoggingConstants ::ActionContext ::Registration ,
7781 actionType : LoggingConstants ::ActionType ::BeginLogin ,
7882 invitation : @invitation . id } ] )
79- csp_config = CspConfig . for ( :id_me )
83+ csp_config = CspConfig . for ( session [ :csp ] )
8084 url = URI ::HTTPS . build ( host : csp_config . host ,
8185 path : '/oauth/authorize' ,
8286 query : { client_id : csp_config . identifier ,
83- redirect_uri : "#{ my_protocol_host } /auth/id_me /callback" ,
87+ redirect_uri : "#{ my_protocol_host } /auth/#{ csp_config . code } /callback" ,
8488 response_type : 'code' ,
8589 scope : 'openid http://idmanagement.gov/ns/assurance/ial/2/aal/2' ,
8690 nonce : @nonce ,
@@ -106,10 +110,6 @@ def set_idp_token
106110
107111 private
108112
109- def verification_complete?
110- session [ "invitation_status_#{ @invitation . id } " ] == 'verification_complete'
111- end
112-
113113 def invitation_matches_user
114114 user_info = UserInfoService . new . user_info ( session )
115115 return if render_bad_invitation? ( user_info )
@@ -213,8 +213,8 @@ def create_ao_org_link
213213 def user
214214 user_info = UserInfoService . new . user_info ( session )
215215 find_or_create_user ( user_info )
216- @ csp = Csp . find_by ( name : @user . provider )
217- csp_user = CspUser . find_or_create_by! ( user : @user , csp : @csp , uuid : user_info [ 'sub' ] )
216+ csp = Csp . find_by ( name : @user . provider )
217+ csp_user = CspUser . find_or_create_by! ( user : @user , csp :, uuid : user_info [ 'sub' ] )
218218
219219 # Update emails based upon the latest information in user info.
220220 new_emails = user_info [ 'all_emails' ] || user_info [ 'emails' ] || user_info [ 'emails_confirmed' ]
@@ -255,9 +255,7 @@ def assign_user_attributes(user_to_create, user_info)
255255 user_to_create . family_name = user_info [ 'family_name' ]
256256 user_to_create . pac_id = session . delete ( :user_pac_id )
257257
258- # For now we force login.gov, this will have to change once we support multi-CSP.
259- # TODO: parametrize on provider -acw
260- user_to_create . provider = session [ :csp ] || 'id_me'
258+ user_to_create . provider = session [ :csp ]
261259 user_to_create . uid = user_info [ 'sub' ]
262260 end
263261
0 commit comments