mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-02 21:08:01 +08:00
F2A, fix popup #615
This commit is contained in:
parent
8ee4a832ae
commit
91d38187da
|
@ -690,6 +690,10 @@ CLASS lcl_2fa_authenticator_registry DEFINITION
|
||||||
WITH UNIQUE KEY table_line READ-ONLY.
|
WITH UNIQUE KEY table_line READ-ONLY.
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
CLASS-METHODS:
|
||||||
|
popup_token
|
||||||
|
RETURNING VALUE(rv_token) TYPE string
|
||||||
|
RAISING lcx_exception.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS lcl_2fa_authenticator_registry IMPLEMENTATION.
|
CLASS lcl_2fa_authenticator_registry IMPLEMENTATION.
|
||||||
|
@ -731,7 +735,6 @@ CLASS lcl_2fa_authenticator_registry IMPLEMENTATION.
|
||||||
METHOD use_2fa_if_required.
|
METHOD use_2fa_if_required.
|
||||||
DATA: li_authenticator TYPE REF TO lif_2fa_authenticator,
|
DATA: li_authenticator TYPE REF TO lif_2fa_authenticator,
|
||||||
lv_2fa_token TYPE string,
|
lv_2fa_token TYPE string,
|
||||||
lv_use_2fa TYPE abap_bool,
|
|
||||||
lv_access_token TYPE string,
|
lv_access_token TYPE string,
|
||||||
lx_ex TYPE REF TO cx_root.
|
lx_ex TYPE REF TO cx_root.
|
||||||
|
|
||||||
|
@ -748,16 +751,7 @@ CLASS lcl_2fa_authenticator_registry IMPLEMENTATION.
|
||||||
iv_username = cv_username
|
iv_username = cv_username
|
||||||
iv_password = cv_password ) = abap_true.
|
iv_password = cv_password ) = abap_true.
|
||||||
|
|
||||||
" Get a 2FA token (app/sms)
|
lv_2fa_token = popup_token( ).
|
||||||
CALL FUNCTION 'POPUP_GET_STRING'
|
|
||||||
EXPORTING
|
|
||||||
label = 'Two factor auth. token'
|
|
||||||
IMPORTING
|
|
||||||
value = lv_2fa_token
|
|
||||||
okay = lv_use_2fa.
|
|
||||||
IF lv_use_2fa = abap_false.
|
|
||||||
lcx_exception=>raise( 'Authentication cancelled' ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
" Delete an old access token if it exists
|
" Delete an old access token if it exists
|
||||||
li_authenticator->delete_access_tokens( iv_url = iv_url
|
li_authenticator->delete_access_tokens( iv_url = iv_url
|
||||||
|
@ -789,4 +783,43 @@ CLASS lcl_2fa_authenticator_registry IMPLEMENTATION.
|
||||||
ix_previous = lx_ex.
|
ix_previous = lx_ex.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD popup_token.
|
||||||
|
|
||||||
|
DATA: lv_returncode TYPE c,
|
||||||
|
lt_fields TYPE TABLE OF sval.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS: <ls_field> LIKE LINE OF lt_fields.
|
||||||
|
|
||||||
|
|
||||||
|
APPEND INITIAL LINE TO lt_fields ASSIGNING <ls_field>.
|
||||||
|
<ls_field>-tabname = 'TADIR'.
|
||||||
|
<ls_field>-fieldname = 'OBJ_NAME'.
|
||||||
|
<ls_field>-fieldtext = 'Two factor auth. token'.
|
||||||
|
|
||||||
|
CALL FUNCTION 'POPUP_GET_VALUES'
|
||||||
|
EXPORTING
|
||||||
|
no_value_check = abap_true
|
||||||
|
popup_title = 'Two factor auth. token'
|
||||||
|
IMPORTING
|
||||||
|
returncode = lv_returncode
|
||||||
|
TABLES
|
||||||
|
fields = lt_fields
|
||||||
|
EXCEPTIONS
|
||||||
|
error_in_fields = 1
|
||||||
|
OTHERS = 2. "#EC NOTEXT
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
lcx_exception=>raise( 'Error from POPUP_GET_VALUES' ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
IF lv_returncode = 'A'.
|
||||||
|
lcx_exception=>raise( 'Authentication cancelled' ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
READ TABLE lt_fields INDEX 1 ASSIGNING <ls_field>.
|
||||||
|
ASSERT sy-subrc = 0.
|
||||||
|
rv_token = <ls_field>-value.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user