diff --git a/src/http/zcl_abapgit_2fa_auth_base.clas.abap b/src/http/zcl_abapgit_2fa_auth_base.clas.abap
deleted file mode 100644
index 96a58e882..000000000
--- a/src/http/zcl_abapgit_2fa_auth_base.clas.abap
+++ /dev/null
@@ -1,149 +0,0 @@
-"! Default {@link ZIF_ABAPGIT_2FA_AUTHENTICATOR} implementation
-CLASS zcl_abapgit_2fa_auth_base DEFINITION
- PUBLIC
- ABSTRACT
- CREATE PUBLIC .
-
- PUBLIC SECTION.
- INTERFACES:
- zif_abapgit_2fa_authenticator.
- ALIASES:
- authenticate FOR zif_abapgit_2fa_authenticator~authenticate,
- supports_url FOR zif_abapgit_2fa_authenticator~supports_url,
- is_2fa_required FOR zif_abapgit_2fa_authenticator~is_2fa_required,
- delete_access_tokens FOR zif_abapgit_2fa_authenticator~delete_access_tokens,
- begin FOR zif_abapgit_2fa_authenticator~begin,
- end FOR zif_abapgit_2fa_authenticator~end.
- METHODS:
- "! @parameter iv_supported_url_regex | Regular expression to check if a repository url is
- "! supported, used for default implementation of
- "! {@link .METH:supports_url}
- constructor IMPORTING iv_supported_url_regex TYPE clike.
- PROTECTED SECTION.
- CLASS-METHODS:
- "! Helper method to raise class based exception after traditional exception was raised
- "!
- "! sy-msg... must be set right before calling!
- "!
- raise_comm_error_from_sy RAISING zcx_abapgit_2fa_comm_error.
- METHODS:
- "! @parameter rv_running | Internal session is currently active
- is_session_running RETURNING VALUE(rv_running) TYPE abap_bool,
- "! Returns HTTP client configured with proxy (where required) for the given URL
- get_http_client_for_url
- IMPORTING iv_url TYPE string
- RETURNING VALUE(ri_client) TYPE REF TO if_http_client
- RAISING zcx_abapgit_2fa_comm_error.
- PRIVATE SECTION.
- DATA:
- mo_url_regex TYPE REF TO cl_abap_regex,
- mv_session_running TYPE abap_bool.
-ENDCLASS.
-
-
-
-CLASS ZCL_ABAPGIT_2FA_AUTH_BASE IMPLEMENTATION.
-
-
- METHOD authenticate.
- RAISE EXCEPTION TYPE zcx_abapgit_2fa_auth_failed. " Needs to be overwritten in subclasses
- ENDMETHOD.
-
-
- METHOD begin.
- IF mv_session_running = abap_true.
- RAISE EXCEPTION TYPE zcx_abapgit_2fa_illegal_state.
- ENDIF.
-
- mv_session_running = abap_true.
- ENDMETHOD.
-
-
- METHOD constructor.
- CREATE OBJECT mo_url_regex
- EXPORTING
- pattern = iv_supported_url_regex
- ignore_case = abap_true.
- ENDMETHOD.
-
-
- METHOD delete_access_tokens.
- RAISE EXCEPTION TYPE zcx_abapgit_2fa_del_failed. " Needs to be overwritten in subclasses
- ENDMETHOD.
-
-
- METHOD end.
- IF mv_session_running = abap_false.
- RAISE EXCEPTION TYPE zcx_abapgit_2fa_illegal_state.
- ENDIF.
-
- mv_session_running = abap_false.
- ENDMETHOD.
-
-
- METHOD get_http_client_for_url.
- DATA: lo_proxy TYPE REF TO zcl_abapgit_proxy_config,
- lx_abapgit_exc TYPE REF TO zcx_abapgit_exception,
- lv_error_text TYPE string.
-
- CREATE OBJECT lo_proxy.
- cl_http_client=>create_by_url(
- EXPORTING
- url = iv_url
- ssl_id = zcl_abapgit_exit=>get_instance( )->get_ssl_id( )
- proxy_host = lo_proxy->get_proxy_url( iv_url )
- proxy_service = lo_proxy->get_proxy_port( iv_url )
- IMPORTING
- client = ri_client
- EXCEPTIONS
- argument_not_found = 1
- plugin_not_active = 2
- internal_error = 3
- OTHERS = 4 ).
- IF sy-subrc <> 0.
- raise_comm_error_from_sy( ).
- ENDIF.
-
- IF lo_proxy->get_proxy_authentication( iv_url ) = abap_true.
- TRY.
- zcl_abapgit_proxy_auth=>run( ri_client ).
- CATCH zcx_abapgit_exception INTO lx_abapgit_exc.
- lv_error_text = lx_abapgit_exc->get_text( ).
- IF lv_error_text IS INITIAL.
- lv_error_text = `Proxy authentication error`.
- ENDIF.
- RAISE EXCEPTION TYPE zcx_abapgit_2fa_comm_error
- EXPORTING
- mv_text = lv_error_text
- previous = lx_abapgit_exc.
- ENDTRY.
- ENDIF.
- ENDMETHOD.
-
-
- METHOD is_2fa_required.
- rv_required = abap_false.
- ENDMETHOD.
-
-
- METHOD is_session_running.
- rv_running = mv_session_running.
- ENDMETHOD.
-
-
- METHOD raise_comm_error_from_sy.
- DATA: lv_error_msg TYPE string.
-
- MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
- WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
- INTO lv_error_msg.
- RAISE EXCEPTION TYPE zcx_abapgit_2fa_comm_error
- EXPORTING
- mv_text = |Communication error: { lv_error_msg }|.
- ENDMETHOD.
-
-
- METHOD supports_url.
- rv_supported = mo_url_regex->create_matcher( text = iv_url )->match( ).
- ENDMETHOD.
-ENDCLASS.
diff --git a/src/http/zcl_abapgit_2fa_auth_base.clas.xml b/src/http/zcl_abapgit_2fa_auth_base.clas.xml
deleted file mode 100644
index 970cc9f6a..000000000
--- a/src/http/zcl_abapgit_2fa_auth_base.clas.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- ZCL_ABAPGIT_2FA_AUTH_BASE
- E
- 2FA base
- 1
- X
- X
- X
-
-
-
-
diff --git a/src/http/zcl_abapgit_2fa_auth_registry.clas.abap b/src/http/zcl_abapgit_2fa_auth_registry.clas.abap
deleted file mode 100644
index 6cc00f243..000000000
--- a/src/http/zcl_abapgit_2fa_auth_registry.clas.abap
+++ /dev/null
@@ -1,203 +0,0 @@
-"! Static registry class to find {@link ZIF_ABAPGIT_2FA_AUTHENTICATOR} instances
-CLASS zcl_abapgit_2fa_auth_registry DEFINITION
- PUBLIC
- FINAL
- CREATE PRIVATE .
-
- PUBLIC SECTION.
- CLASS-METHODS:
- class_constructor,
- "! Retrieve an authenticator instance by url
- "! @parameter iv_url | Url of the repository / service
- "! @parameter ri_authenticator | Found authenticator instance
- "! @raising zcx_abapgit_2fa_unsupported | No authenticator found that supports the service
- get_authenticator_for_url IMPORTING iv_url TYPE string
- RETURNING VALUE(ri_authenticator) TYPE REF TO zif_abapgit_2fa_authenticator
- RAISING zcx_abapgit_2fa_unsupported,
- "! Check if there is a two factor authenticator available for the url
- "! @parameter iv_url | Url of the repository / service
- "! @parameter rv_supported | 2FA is supported
- is_url_supported IMPORTING iv_url TYPE string
- RETURNING VALUE(rv_supported) TYPE abap_bool,
- "! Offer to use two factor authentication if supported and required
- "!
- "! This uses GUI functionality to display a popup to request the user to enter a two factor
- "! token. Also an dummy authentication request might be used to find out if two factor
- "! authentication is required for the account.
- "!
- "! @parameter iv_url | Url of the repository / service
- "! @parameter cv_username | Username
- "! @parameter cv_password | Password, will be replaced by an access token if two factor
- "! authentication succeeds
- "! @raising zcx_abapgit_exception | Error in two factor authentication
- use_2fa_if_required IMPORTING iv_url TYPE string
- CHANGING cv_username TYPE string
- cv_password TYPE string
- RAISING zcx_abapgit_exception.
-
- PROTECTED SECTION.
- CLASS-DATA:
- "! All authenticators managed by the registry
- gt_registered_authenticators TYPE HASHED TABLE OF REF TO zif_abapgit_2fa_authenticator
- WITH UNIQUE KEY table_line.
-
- PRIVATE SECTION.
- CLASS-METHODS:
- popup_token
- RETURNING VALUE(rv_token) TYPE string
- RAISING zcx_abapgit_exception.
-
-ENDCLASS.
-
-
-
-CLASS zcl_abapgit_2fa_auth_registry IMPLEMENTATION.
-
-
- METHOD class_constructor.
-
- DATA: lt_sub TYPE seo_relkeys,
- ls_sub LIKE LINE OF lt_sub,
- li_authenticator TYPE REF TO zif_abapgit_2fa_authenticator,
- lo_class TYPE REF TO cl_oo_class,
- lv_warning_message TYPE string.
-
-
- TRY.
- lo_class ?= cl_oo_class=>get_instance( 'ZCL_ABAPGIT_2FA_AUTH_BASE' ).
- lt_sub = lo_class->get_subclasses( ).
- SORT lt_sub BY clsname ASCENDING AS TEXT.
- LOOP AT lt_sub INTO ls_sub.
- CREATE OBJECT li_authenticator TYPE (ls_sub-clsname).
- INSERT li_authenticator INTO TABLE gt_registered_authenticators.
- ENDLOOP.
-
- " Current 2FA approach will be removed as GitHub is deprecating the used authentication mechanism and there
- " are no other 2FA implementations. Show a warning in case someone subclassed ZCL_ABAPGIT_2FA_AUTH_BASE and
- " is using a custom 2FA implementation.
- " https://github.com/abapGit/abapGit/issues/3150
- " https://github.com/abapGit/abapGit/pull/3839
-
- IF gt_registered_authenticators IS NOT INITIAL AND
- zcl_abapgit_ui_factory=>get_gui_functions( )->gui_is_available( ) = abap_true.
- lv_warning_message = 'Custom 2FA implementation found. 2FA infrastructure is marked for deletion.' &&
- ' Please open an issue if you are using it: github.com/abapGit/abapGit/issues/new'.
- MESSAGE lv_warning_message TYPE 'I' DISPLAY LIKE 'W'.
- ENDIF.
- CATCH cx_class_not_existent ##NO_HANDLER.
- ENDTRY.
-
- ENDMETHOD.
-
-
- METHOD get_authenticator_for_url.
- FIELD-SYMBOLS: LIKE LINE OF gt_registered_authenticators.
-
- LOOP AT gt_registered_authenticators ASSIGNING .
- IF ->supports_url( iv_url ) = abap_true.
- ri_authenticator = .
- RETURN.
- ENDIF.
- ENDLOOP.
-
- RAISE EXCEPTION TYPE zcx_abapgit_2fa_unsupported.
- ENDMETHOD.
-
-
- METHOD is_url_supported.
- TRY.
- get_authenticator_for_url( iv_url ).
- rv_supported = abap_true.
- CATCH zcx_abapgit_2fa_unsupported ##NO_HANDLER.
- ENDTRY.
- ENDMETHOD.
-
-
- METHOD popup_token.
-
- DATA: lv_returncode TYPE c,
- lt_fields TYPE TABLE OF sval.
-
- FIELD-SYMBOLS: LIKE LINE OF lt_fields.
-
-
- APPEND INITIAL LINE TO lt_fields ASSIGNING .
- -tabname = 'TADIR'.
- -fieldname = 'OBJ_NAME'.
- -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.
- IF sy-subrc <> 0.
- zcx_abapgit_exception=>raise( 'Error from POPUP_GET_VALUES' ).
- ENDIF.
-
- IF lv_returncode = 'A'.
- zcx_abapgit_exception=>raise( 'Authentication cancelled' ).
- ENDIF.
-
- READ TABLE lt_fields INDEX 1 ASSIGNING .
- ASSERT sy-subrc = 0.
- rv_token = -value.
-
- ENDMETHOD.
-
-
- METHOD use_2fa_if_required.
- DATA: li_authenticator TYPE REF TO zif_abapgit_2fa_authenticator,
- lv_2fa_token TYPE string,
- lv_access_token TYPE string,
- lx_ex TYPE REF TO cx_root.
-
- IF is_url_supported( iv_url ) = abap_false.
- RETURN.
- ENDIF.
-
- TRY.
- li_authenticator = get_authenticator_for_url( iv_url ).
- li_authenticator->begin( ).
-
- " Is two factor authentication required for this account?
- IF li_authenticator->is_2fa_required( iv_url = iv_url
- iv_username = cv_username
- iv_password = cv_password ) = abap_true.
-
- lv_2fa_token = popup_token( ).
-
- " Delete an old access token if it exists
- li_authenticator->delete_access_tokens( iv_url = iv_url
- iv_username = cv_username
- iv_password = cv_password
- iv_2fa_token = lv_2fa_token ).
-
- " Get a new access token
- lv_access_token = li_authenticator->authenticate( iv_url = iv_url
- iv_username = cv_username
- iv_password = cv_password
- iv_2fa_token = lv_2fa_token ).
-
- " Use the access token instead of the password
- cv_password = lv_access_token.
- ENDIF.
-
- li_authenticator->end( ).
-
- CATCH zcx_abapgit_2fa_error INTO lx_ex.
- TRY.
- li_authenticator->end( ).
- CATCH zcx_abapgit_2fa_illegal_state ##NO_HANDLER.
- ENDTRY.
-
- zcx_abapgit_exception=>raise( |2FA error: { lx_ex->get_text( ) }| ).
- ENDTRY.
- ENDMETHOD.
-ENDCLASS.
diff --git a/src/http/zcl_abapgit_2fa_auth_registry.clas.xml b/src/http/zcl_abapgit_2fa_auth_registry.clas.xml
deleted file mode 100644
index 162a47c76..000000000
--- a/src/http/zcl_abapgit_2fa_auth_registry.clas.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- ZCL_ABAPGIT_2FA_AUTH_REGISTRY
- E
- 2FA registry
- 1
- X
- X
- X
-
-
-
-
diff --git a/src/http/zcl_abapgit_http.clas.abap b/src/http/zcl_abapgit_http.clas.abap
index b7e023535..dcbdad4b1 100644
--- a/src/http/zcl_abapgit_http.clas.abap
+++ b/src/http/zcl_abapgit_http.clas.abap
@@ -79,14 +79,6 @@ CLASS ZCL_ABAPGIT_HTTP IMPLEMENTATION.
iv_login = lv_user ).
ENDIF.
- " Offer two factor authentication if it is available and required
- zcl_abapgit_2fa_auth_registry=>use_2fa_if_required(
- EXPORTING
- iv_url = iv_url
- CHANGING
- cv_username = lv_user
- cv_password = lv_pass ).
-
rv_scheme = ii_client->response->get_header_field( 'www-authenticate' ).
FIND REGEX '^(\w+)' IN rv_scheme SUBMATCHES rv_scheme.
diff --git a/src/http/zcx_abapgit_2fa_auth_failed.clas.abap b/src/http/zcx_abapgit_2fa_auth_failed.clas.abap
deleted file mode 100644
index b87f215b7..000000000
--- a/src/http/zcx_abapgit_2fa_auth_failed.clas.abap
+++ /dev/null
@@ -1,39 +0,0 @@
-class ZCX_ABAPGIT_2FA_AUTH_FAILED definition
- public
- inheriting from ZCX_ABAPGIT_2FA_ERROR
- final
- create public .
-
-public section.
-
- methods CONSTRUCTOR
- importing
- !TEXTID like TEXTID optional
- !PREVIOUS like PREVIOUS optional
- !MV_TEXT type STRING optional .
-protected section.
-
- methods GET_DEFAULT_TEXT
- redefinition .
-private section.
-ENDCLASS.
-
-
-
-CLASS ZCX_ABAPGIT_2FA_AUTH_FAILED IMPLEMENTATION.
-
-
- method CONSTRUCTOR.
-CALL METHOD SUPER->CONSTRUCTOR
-EXPORTING
-TEXTID = TEXTID
-PREVIOUS = PREVIOUS
-MV_TEXT = MV_TEXT
-.
- endmethod.
-
-
- METHOD get_default_text.
- rv_text = 'Authentication failed using 2FA.' .
- ENDMETHOD.
-ENDCLASS.
diff --git a/src/http/zcx_abapgit_2fa_auth_failed.clas.xml b/src/http/zcx_abapgit_2fa_auth_failed.clas.xml
deleted file mode 100644
index 2ea6403f5..000000000
--- a/src/http/zcx_abapgit_2fa_auth_failed.clas.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- ZCX_ABAPGIT_2FA_AUTH_FAILED
- E
- Auth failed
- 40
- 1
- X
- X
- X
-
-
-
-
diff --git a/src/http/zcx_abapgit_2fa_comm_error.clas.abap b/src/http/zcx_abapgit_2fa_comm_error.clas.abap
deleted file mode 100644
index 5bf1b1d97..000000000
--- a/src/http/zcx_abapgit_2fa_comm_error.clas.abap
+++ /dev/null
@@ -1,39 +0,0 @@
-class ZCX_ABAPGIT_2FA_COMM_ERROR definition
- public
- inheriting from ZCX_ABAPGIT_2FA_ERROR
- final
- create public .
-
-public section.
-
- methods CONSTRUCTOR
- importing
- !TEXTID like TEXTID optional
- !PREVIOUS like PREVIOUS optional
- !MV_TEXT type STRING optional .
-protected section.
-
- methods GET_DEFAULT_TEXT
- redefinition .
-private section.
-ENDCLASS.
-
-
-
-CLASS ZCX_ABAPGIT_2FA_COMM_ERROR IMPLEMENTATION.
-
-
- method CONSTRUCTOR.
-CALL METHOD SUPER->CONSTRUCTOR
-EXPORTING
-TEXTID = TEXTID
-PREVIOUS = PREVIOUS
-MV_TEXT = MV_TEXT
-.
- endmethod.
-
-
- METHOD get_default_text.
- rv_text = 'Communication error.' .
- ENDMETHOD.
-ENDCLASS.
diff --git a/src/http/zcx_abapgit_2fa_comm_error.clas.xml b/src/http/zcx_abapgit_2fa_comm_error.clas.xml
deleted file mode 100644
index e7f18f00c..000000000
--- a/src/http/zcx_abapgit_2fa_comm_error.clas.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- ZCX_ABAPGIT_2FA_COMM_ERROR
- E
- comm error
- 40
- 1
- X
- X
- X
-
-
-
-
diff --git a/src/http/zcx_abapgit_2fa_del_failed.clas.abap b/src/http/zcx_abapgit_2fa_del_failed.clas.abap
deleted file mode 100644
index dd90f2698..000000000
--- a/src/http/zcx_abapgit_2fa_del_failed.clas.abap
+++ /dev/null
@@ -1,39 +0,0 @@
-class ZCX_ABAPGIT_2FA_DEL_FAILED definition
- public
- inheriting from ZCX_ABAPGIT_2FA_ERROR
- final
- create public .
-
-public section.
-
- methods CONSTRUCTOR
- importing
- !TEXTID like TEXTID optional
- !PREVIOUS like PREVIOUS optional
- !MV_TEXT type STRING optional .
-protected section.
-
- methods GET_DEFAULT_TEXT
- redefinition .
-private section.
-ENDCLASS.
-
-
-
-CLASS ZCX_ABAPGIT_2FA_DEL_FAILED IMPLEMENTATION.
-
-
- method CONSTRUCTOR.
-CALL METHOD SUPER->CONSTRUCTOR
-EXPORTING
-TEXTID = TEXTID
-PREVIOUS = PREVIOUS
-MV_TEXT = MV_TEXT
-.
- endmethod.
-
-
- METHOD get_default_text.
- rv_text = 'Deleting previous access tokens failed.' .
- ENDMETHOD.
-ENDCLASS.
diff --git a/src/http/zcx_abapgit_2fa_del_failed.clas.xml b/src/http/zcx_abapgit_2fa_del_failed.clas.xml
deleted file mode 100644
index 88945c620..000000000
--- a/src/http/zcx_abapgit_2fa_del_failed.clas.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- ZCX_ABAPGIT_2FA_DEL_FAILED
- E
- del failed
- 40
- 1
- X
- X
- X
-
-
-
-
diff --git a/src/http/zcx_abapgit_2fa_error.clas.abap b/src/http/zcx_abapgit_2fa_error.clas.abap
deleted file mode 100644
index 6bd2939b9..000000000
--- a/src/http/zcx_abapgit_2fa_error.clas.abap
+++ /dev/null
@@ -1,59 +0,0 @@
-class ZCX_ABAPGIT_2FA_ERROR definition
- public
- inheriting from CX_STATIC_CHECK
- create public .
-
-public section.
-
- data MV_TEXT type STRING read-only .
-
- methods CONSTRUCTOR
- importing
- !TEXTID like TEXTID optional
- !PREVIOUS like PREVIOUS optional
- !MV_TEXT type STRING optional .
-
- methods IF_MESSAGE~GET_TEXT
- redefinition .
-protected section.
-
- methods GET_DEFAULT_TEXT
- returning
- value(RV_TEXT) type STRING .
-private section.
-ENDCLASS.
-
-
-
-CLASS ZCX_ABAPGIT_2FA_ERROR IMPLEMENTATION.
-
-
- method CONSTRUCTOR.
-CALL METHOD SUPER->CONSTRUCTOR
-EXPORTING
-TEXTID = TEXTID
-PREVIOUS = PREVIOUS
-.
-me->MV_TEXT = MV_TEXT .
- endmethod.
-
-
- METHOD get_default_text.
-
- rv_text = 'Error in two factor authentication.' .
-
- ENDMETHOD.
-
-
- METHOD if_message~get_text.
-
- IF mv_text IS NOT INITIAL.
- result = mv_text.
- ELSEIF get_default_text( ) IS NOT INITIAL.
- result = get_default_text( ).
- ELSE.
- result = super->get_text( ).
- ENDIF.
-
- ENDMETHOD.
-ENDCLASS.
diff --git a/src/http/zcx_abapgit_2fa_error.clas.xml b/src/http/zcx_abapgit_2fa_error.clas.xml
deleted file mode 100644
index ef71d15f4..000000000
--- a/src/http/zcx_abapgit_2fa_error.clas.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- ZCX_ABAPGIT_2FA_ERROR
- E
- Error
- 40
- 1
- X
- X
- X
-
-
-
-
diff --git a/src/http/zcx_abapgit_2fa_gen_failed.clas.abap b/src/http/zcx_abapgit_2fa_gen_failed.clas.abap
deleted file mode 100644
index e0302d4a8..000000000
--- a/src/http/zcx_abapgit_2fa_gen_failed.clas.abap
+++ /dev/null
@@ -1,39 +0,0 @@
-class ZCX_ABAPGIT_2FA_GEN_FAILED definition
- public
- inheriting from ZCX_ABAPGIT_2FA_ERROR
- final
- create public .
-
-public section.
-
- methods CONSTRUCTOR
- importing
- !TEXTID like TEXTID optional
- !PREVIOUS like PREVIOUS optional
- !MV_TEXT type STRING optional .
-protected section.
-
- methods GET_DEFAULT_TEXT
- redefinition .
-private section.
-ENDCLASS.
-
-
-
-CLASS ZCX_ABAPGIT_2FA_GEN_FAILED IMPLEMENTATION.
-
-
- method CONSTRUCTOR.
-CALL METHOD SUPER->CONSTRUCTOR
-EXPORTING
-TEXTID = TEXTID
-PREVIOUS = PREVIOUS
-MV_TEXT = MV_TEXT
-.
- endmethod.
-
-
- METHOD get_default_text.
- rv_text = 'Two factor access token generation failed.' .
- ENDMETHOD.
-ENDCLASS.
diff --git a/src/http/zcx_abapgit_2fa_gen_failed.clas.xml b/src/http/zcx_abapgit_2fa_gen_failed.clas.xml
deleted file mode 100644
index 4a063b63f..000000000
--- a/src/http/zcx_abapgit_2fa_gen_failed.clas.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- ZCX_ABAPGIT_2FA_GEN_FAILED
- E
- gen failed
- 40
- 1
- X
- X
- X
-
-
-
-
diff --git a/src/http/zcx_abapgit_2fa_illegal_state.clas.abap b/src/http/zcx_abapgit_2fa_illegal_state.clas.abap
deleted file mode 100644
index 47e632fe0..000000000
--- a/src/http/zcx_abapgit_2fa_illegal_state.clas.abap
+++ /dev/null
@@ -1,39 +0,0 @@
-class ZCX_ABAPGIT_2FA_ILLEGAL_STATE definition
- public
- inheriting from ZCX_ABAPGIT_2FA_ERROR
- final
- create public .
-
-public section.
-
- methods CONSTRUCTOR
- importing
- !TEXTID like TEXTID optional
- !PREVIOUS like PREVIOUS optional
- !MV_TEXT type STRING optional .
-protected section.
-
- methods GET_DEFAULT_TEXT
- redefinition .
-private section.
-ENDCLASS.
-
-
-
-CLASS ZCX_ABAPGIT_2FA_ILLEGAL_STATE IMPLEMENTATION.
-
-
- method CONSTRUCTOR.
-CALL METHOD SUPER->CONSTRUCTOR
-EXPORTING
-TEXTID = TEXTID
-PREVIOUS = PREVIOUS
-MV_TEXT = MV_TEXT
-.
- endmethod.
-
-
- METHOD get_default_text.
- rv_text = 'Illegal state.' .
- ENDMETHOD.
-ENDCLASS.
diff --git a/src/http/zcx_abapgit_2fa_illegal_state.clas.xml b/src/http/zcx_abapgit_2fa_illegal_state.clas.xml
deleted file mode 100644
index 1a619504b..000000000
--- a/src/http/zcx_abapgit_2fa_illegal_state.clas.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- ZCX_ABAPGIT_2FA_ILLEGAL_STATE
- E
- illegal state
- 40
- 1
- X
- X
- X
-
-
-
-
diff --git a/src/http/zcx_abapgit_2fa_unsupported.clas.abap b/src/http/zcx_abapgit_2fa_unsupported.clas.abap
deleted file mode 100644
index bd94a4d8e..000000000
--- a/src/http/zcx_abapgit_2fa_unsupported.clas.abap
+++ /dev/null
@@ -1,39 +0,0 @@
-class ZCX_ABAPGIT_2FA_UNSUPPORTED definition
- public
- inheriting from ZCX_ABAPGIT_2FA_ERROR
- final
- create public .
-
-public section.
-
- methods CONSTRUCTOR
- importing
- !TEXTID like TEXTID optional
- !PREVIOUS like PREVIOUS optional
- !MV_TEXT type STRING optional .
-protected section.
-
- methods GET_DEFAULT_TEXT
- redefinition .
-private section.
-ENDCLASS.
-
-
-
-CLASS ZCX_ABAPGIT_2FA_UNSUPPORTED IMPLEMENTATION.
-
-
- method CONSTRUCTOR.
-CALL METHOD SUPER->CONSTRUCTOR
-EXPORTING
-TEXTID = TEXTID
-PREVIOUS = PREVIOUS
-MV_TEXT = MV_TEXT
-.
- endmethod.
-
-
- METHOD get_default_text.
- rv_text = 'The service is not supported for two factor authentication.' .
- ENDMETHOD.
-ENDCLASS.
diff --git a/src/http/zcx_abapgit_2fa_unsupported.clas.xml b/src/http/zcx_abapgit_2fa_unsupported.clas.xml
deleted file mode 100644
index 171e4b172..000000000
--- a/src/http/zcx_abapgit_2fa_unsupported.clas.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- ZCX_ABAPGIT_2FA_UNSUPPORTED
- E
- Unsupported
- 40
- 1
- X
- X
- X
-
-
-
-
diff --git a/src/http/zif_abapgit_2fa_authenticator.intf.abap b/src/http/zif_abapgit_2fa_authenticator.intf.abap
deleted file mode 100644
index 94ff517db..000000000
--- a/src/http/zif_abapgit_2fa_authenticator.intf.abap
+++ /dev/null
@@ -1,90 +0,0 @@
-"! Defines a two factor authentication authenticator
-"!
-"! Authenticators support one or multiple services and are able to generate access tokens using the
-"! service's API using the users username, password and two factor authentication token
-"! (app/sms/tokengenerator). With these access tokens the user can be authenticated to the service's
-"! implementation of the git http api, just like the "normal" password would.
-"!
-"!
-"! {@link ZCL_ABAPGIT_2FA_AUTH_REGISTRY} can be used to find a suitable implementation for a
-"! given repository.
-"!
-"!
-"! Using the {@link zif_abapgit_2fa_authenticator.METH:begin} and
-"! {@link zif_abapgit_2fa_authenticator.METH.end} methods an internal session can be started and
-"! completed in which internal state necessary for multiple methods will be cached. This can be
-"! used to avoid having multiple http sessions between
-"! {@link zif_abapgit_2fa_authenticator.METH:authenticate} and
-"! {@link zif_abapgit_2fa_authenticator.METH:delete_access_tokens}.
-"!
-INTERFACE zif_abapgit_2fa_authenticator PUBLIC.
- "! Generate an access token
- "! @parameter iv_url | Repository url
- "! @parameter iv_username | Username
- "! @parameter iv_password | Password
- "! @parameter iv_2fa_token | Two factor token
- "! @parameter rv_access_token | Generated access token
- "! @raising zcx_abapgit_2fa_auth_failed | Authentication failed
- "! @raising zcx_abapgit_2fa_gen_failed | Token generation failed
- METHODS authenticate
- IMPORTING
- !iv_url TYPE string
- !iv_username TYPE string
- !iv_password TYPE string
- !iv_2fa_token TYPE string
- RETURNING
- VALUE(rv_access_token) TYPE string
- RAISING
- zcx_abapgit_2fa_auth_failed
- zcx_abapgit_2fa_gen_failed
- zcx_abapgit_2fa_comm_error .
- "! Check if this authenticator instance supports the given repository url
- "! @parameter iv_url | Repository url
- "! @parameter rv_supported | Is supported
- METHODS supports_url
- IMPORTING
- !iv_url TYPE string
- RETURNING
- VALUE(rv_supported) TYPE abap_bool .
- "! Check if two factor authentication is required
- "! @parameter iv_url | Repository url
- "! @parameter iv_username | Username
- "! @parameter iv_password | Password
- "! @parameter rv_required | 2FA is required
- METHODS is_2fa_required
- IMPORTING
- !iv_url TYPE string
- !iv_username TYPE string
- !iv_password TYPE string
- RETURNING
- VALUE(rv_required) TYPE abap_bool
- RAISING
- zcx_abapgit_2fa_comm_error .
- "! Delete all previously created access tokens for abapGit
- "! @parameter iv_url | Repository url
- "! @parameter iv_username | Username
- "! @parameter iv_password | Password
- "! @parameter iv_2fa_token | Two factor token
- "! @raising zcx_abapgit_2fa_del_failed | Token deletion failed
- "! @raising zcx_abapgit_2fa_auth_failed | Authentication failed
- METHODS delete_access_tokens
- IMPORTING
- !iv_url TYPE string
- !iv_username TYPE string
- !iv_password TYPE string
- !iv_2fa_token TYPE string
- RAISING
- zcx_abapgit_2fa_del_failed
- zcx_abapgit_2fa_comm_error
- zcx_abapgit_2fa_auth_failed .
- "! Begin an authenticator session that uses internal caching for authorizations
- "! @raising zcx_abapgit_2fa_illegal_state | Session already started
- METHODS begin
- RAISING
- zcx_abapgit_2fa_illegal_state .
- "! End an authenticator session and clear internal caches
- "! @raising zcx_abapgit_2fa_illegal_state | Session not running
- METHODS end
- RAISING
- zcx_abapgit_2fa_illegal_state .
-ENDINTERFACE.
diff --git a/src/http/zif_abapgit_2fa_authenticator.intf.xml b/src/http/zif_abapgit_2fa_authenticator.intf.xml
deleted file mode 100644
index 6e428c7ef..000000000
--- a/src/http/zif_abapgit_2fa_authenticator.intf.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
- ZIF_ABAPGIT_2FA_AUTHENTICATOR
- E
- 2FA authenticator
- 2
- 1
- X
-
-
-
-