Skip to content

/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|
).