/AWS1/IF_WKR=>REGISTEROIDCCONFIGTEST()¶
About RegisterOidcConfigTest¶
Tests an OpenID Connect (OIDC) configuration for a Wickr network by validating the connection to the identity provider and retrieving its supported capabilities.
Method Signature¶
METHODS /AWS1/IF_WKR~REGISTEROIDCCONFIGTEST
IMPORTING
!IV_NETWORKID TYPE /AWS1/WKRNETWORKID OPTIONAL
!IV_EXTRAAUTHPARAMS TYPE /AWS1/WKRGENERICSTRING OPTIONAL
!IV_ISSUER TYPE /AWS1/WKRGENERICSTRING OPTIONAL
!IV_SCOPES TYPE /AWS1/WKRGENERICSTRING OPTIONAL
!IV_CERTIFICATE TYPE /AWS1/WKRGENERICSTRING OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_wkrregoidccfgtestrsp
RAISING
/AWS1/CX_WKRBADREQUESTERROR
/AWS1/CX_WKRFORBIDDENERROR
/AWS1/CX_WKRINTSERVERERROR
/AWS1/CX_WKRRATELIMITERROR
/AWS1/CX_WKRRESNOTFOUNDERROR
/AWS1/CX_WKRUNAUTHORIZEDERROR
/AWS1/CX_WKRVALIDATIONERROR
/AWS1/CX_WKRCLIENTEXC
/AWS1/CX_WKRSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_networkid TYPE /AWS1/WKRNETWORKID /AWS1/WKRNETWORKID¶
The ID of the Wickr network for which the OIDC configuration will be tested.
iv_issuer TYPE /AWS1/WKRGENERICSTRING /AWS1/WKRGENERICSTRING¶
The issuer URL of the OIDC provider to test.
iv_scopes TYPE /AWS1/WKRGENERICSTRING /AWS1/WKRGENERICSTRING¶
The OAuth scopes to test with the OIDC provider.
Optional arguments:¶
iv_extraauthparams TYPE /AWS1/WKRGENERICSTRING /AWS1/WKRGENERICSTRING¶
Additional authentication parameters to include in the test (optional).
iv_certificate TYPE /AWS1/WKRGENERICSTRING /AWS1/WKRGENERICSTRING¶
The CA certificate for secure communication with the OIDC provider (optional).
RETURNING¶
oo_output TYPE REF TO /aws1/cl_wkrregoidccfgtestrsp /AWS1/CL_WKRREGOIDCCFGTESTRSP¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->registeroidcconfigtest(
iv_certificate = |string|
iv_extraauthparams = |string|
iv_issuer = |string|
iv_networkid = |string|
iv_scopes = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_genericstring = lo_result->get_tokenendpoint( ).
lv_genericstring = lo_result->get_userinfoendpoint( ).
LOOP AT lo_result->get_responsetypessupported( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_genericstring = lo_row_1->get_value( ).
ENDIF.
ENDLOOP.
LOOP AT lo_result->get_scopessupported( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_genericstring = lo_row_1->get_value( ).
ENDIF.
ENDLOOP.
lv_genericstring = lo_result->get_issuer( ).
lv_genericstring = lo_result->get_authorizationendpoint( ).
lv_genericstring = lo_result->get_endsessionendpoint( ).
lv_genericstring = lo_result->get_logoutendpoint( ).
LOOP AT lo_result->get_granttypessupported( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_genericstring = lo_row_1->get_value( ).
ENDIF.
ENDLOOP.
lv_genericstring = lo_result->get_revocationendpoint( ).
LOOP AT lo_result->get_tokenendptauthmethssupp( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_genericstring = lo_row_1->get_value( ).
ENDIF.
ENDLOOP.
lv_boolean = lo_result->get_msftmultirefreshtoken( ).
ENDIF.
Test OIDC config successfully¶
Test OIDC config successfully
DATA(lo_result) = lo_client->registeroidcconfigtest(
iv_issuer = |https://login.example.com|
iv_networkid = |12345678|
iv_scopes = |openid profile email|
).
Test OIDC config - missing issuer¶
Test OIDC config - missing issuer
DATA(lo_result) = lo_client->registeroidcconfigtest(
iv_issuer = ||
iv_networkid = |12345678|
iv_scopes = |openid profile email|
).
Test OIDC config - invalid endpoint¶
Test OIDC config - invalid endpoint
DATA(lo_result) = lo_client->registeroidcconfigtest(
iv_issuer = |https://blocked-endpoint.com|
iv_networkid = |12345678|
iv_scopes = |openid profile email|
).