Multifactor Authentication
Hi,
We have been using WinSCP to connect to an Enbridge site (ishare.egd.enbridge.com).
The existing code before the Multifactor Authentication was added is below under the asterisks. Now there is a authentication login before the execution of the code below:
.i.e. if you type
How do I incorporate that new first login into the code below.?
I would appreciate your help. The programmer who wrote this code unexpectedly passed away and we are in a time jam to get this working. Thanks in advance,
We have been using WinSCP to connect to an Enbridge site (ishare.egd.enbridge.com).
The existing code before the Multifactor Authentication was added is below under the asterisks. Now there is a authentication login before the execution of the code below:
.i.e. if you type
https://ishare.egd.enbridge.com
– you will see the Globalscape authentication.
How do I incorporate that new first login into the code below.?
I would appreciate your help. The programmer who wrote this code unexpectedly passed away and we are in a time jam to get this working. Thanks in advance,
FUNCTION enb_login IF !ISNULL(osess) RETURN .F. ENDIF **************** TRY osessopt = CREATEOBJECT('winscp.sessionoptions') err = .F. CATCH err = .T. ENDTRY IF err = .T. = AERROR(_err) =display_console('019', 'ER', _err(2)) RETURN ENDIF TRY osess = CREATEOBJECT('winscp.session') err = .F. CATCH err = .T. ENDTRY IF err = .T. = AERROR(_err) =display_console('020', 'ER', _err(2)) RELEASE osessopt RETURN ENDIF TRY otransopt = CREATEOBJECT('winscp.transferoptions') err = .F. CATCH err = .T. ENDTRY IF err = .T. = AERROR(_err) =display_console('021', 'ER', _err(2)) RELEASE osessopt RELEASE osess RETURN ENDIF TRY oresumesupport = otransopt.resumesupport err = .F. CATCH err = .T. ENDTRY oresumesupport.state = 2 && turn off transfer to temporary file IF err = .T. = AERROR(_err) =display_console('022', 'ER', _err(2)) RELEASE osessopt RELEASE osess RETURN ENDIF WITH otransopt .transfermode = IIF(enbridge.transfer_mode = '01', 0, IIF(enbridge.transfer_mode = '02', 1, 2)) ENDWITH WITH osessopt .protocol =IIF(enbridge.protocol = '01', 0, 1) .hostname = ALLTRIM(enbridge.url) .username = ALLTRIM(enbridge.login_id) .password = ALLTRIM(enbridge.password) .sshhostkeyfingerprint = ALLTRIM(enbridge.host_key) .portnumber = IIF(ALLTRIM(enbridge.port_number) = '01', '991', IIF(enbridge.port_number = '02', 22, ' ')) IF !EMPTY(ALLTRIM(enbridge.private_key_path)) .sshprivatekeypath = ALLTRIM(enbridge.private_key_path) ENDIF IF !EMPTY(ALLTRIM(enbridge.private_key_pass_phrase)) .sshprivatekeypassphrase = ALLTRIM(enbridge.private_key_pass_phrase) ENDIF ENDWITH TRY osess.open(osessopt) err = .F. CATCH err = .T. ENDTRY IF err = .T. = AERROR(_err) =display_console('023', 'ER', _err(2)) RELEASE osessopt RELEASE osess RELEASE otransopt RETURN ENDIF IF gm_bill_co = '4' RETURN .F. ENDIF from_dir = '/Biller'+enbridge.biller_code ofiles = osess.listdirectory(from_dir) DIMENSION rem_fls(10) FOR i = 1 TO ofiles.files.count IF ofiles.files.item(i - 1).isdirectory = .T. rem_fls(i) = '/'+ofiles.files.item(i - 1).name+'/' ENDIF ENDFOR gm_remote_base_dir = ' ' FOR i = 1 to i ofiles = osess.listdirectory(from_dir+rem_fls(i)) FOR j = 1 TO ofiles.files.count IF ofiles.files.item(j - 1).isdirectory = .T. IF ofiles.files.item(j - 1).name = 'Input' gm_remote_base_dir = rem_fls(i) RETURN .F. ENDIF ENDIF ENDFOR ENDFOR RETURN .T. ENDFUNC