Skip to content

/AWS1/IF_WKR=>REGISTEROPENTDFCONFIG()

About RegisterOpentdfConfig

Registers and saves OpenTDF configuration for a Wickr network, enabling attribute-based access control for Wickr through an OpenTDF provider.

Method Signature

METHODS /AWS1/IF_WKR~REGISTEROPENTDFCONFIG
  IMPORTING
    !IV_NETWORKID TYPE /AWS1/WKRNETWORKID OPTIONAL
    !IV_CLIENTID TYPE /AWS1/WKRGENERICSTRING OPTIONAL
    !IV_CLIENTSECRET TYPE /AWS1/WKRSENSITIVESTRING OPTIONAL
    !IV_DOMAIN TYPE /AWS1/WKRGENERICSTRING OPTIONAL
    !IV_PROVIDER TYPE /AWS1/WKRGENERICSTRING OPTIONAL
    !IV_DRYRUN TYPE /AWS1/WKRBOOLEAN OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_wkrregopentdfcfgrsp
  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 OpenTDF integration will be configured.

iv_clientid TYPE /AWS1/WKRGENERICSTRING /AWS1/WKRGENERICSTRING

The OIDC client ID used for authenticating with the OpenTDF provider.

iv_clientsecret TYPE /AWS1/WKRSENSITIVESTRING /AWS1/WKRSENSITIVESTRING

The OIDC client secret used for authenticating with the OpenTDF provider

iv_domain TYPE /AWS1/WKRGENERICSTRING /AWS1/WKRGENERICSTRING

The domain of the OpenTDF server.

iv_provider TYPE /AWS1/WKRGENERICSTRING /AWS1/WKRGENERICSTRING

The provider of the OpenTDF platform.

Currently only Virtru is supported as the OpenTDF provider.

Optional arguments:

iv_dryrun TYPE /AWS1/WKRBOOLEAN /AWS1/WKRBOOLEAN

Perform dry-run test connection of OpenTDF configuration (optional).

RETURNING

oo_output TYPE REF TO /aws1/cl_wkrregopentdfcfgrsp /AWS1/CL_WKRREGOPENTDFCFGRSP

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->registeropentdfconfig(
  iv_clientid = |string|
  iv_clientsecret = |string|
  iv_domain = |string|
  iv_dryrun = ABAP_TRUE
  iv_networkid = |string|
  iv_provider = |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_clientid( ).
  lv_genericstring = lo_result->get_domain( ).
  lv_sensitivestring = lo_result->get_clientsecret( ).
  lv_genericstring = lo_result->get_provider( ).
ENDIF.

Save OpenTDF config successfully

Save OpenTDF config successfully

DATA(lo_result) = lo_client->registeropentdfconfig(
  iv_clientid = |client123|
  iv_clientsecret = |secret456|
  iv_domain = |https://api.sample.com|
  iv_networkid = |12345678|
  iv_provider = |virtru|
).

Dry run saving OpenTDF config

Dry run saving OpenTDF config

DATA(lo_result) = lo_client->registeropentdfconfig(
  iv_clientid = |client123|
  iv_clientsecret = |secret456|
  iv_domain = |https://api.sample.com|
  iv_dryrun = ABAP_TRUE
  iv_networkid = |12345678|
  iv_provider = |virtru|
).

Dry run saving OpenTDF config - failed test

Dry run saving OpenTDF config - failed test

DATA(lo_result) = lo_client->registeropentdfconfig(
  iv_clientid = |client123|
  iv_clientsecret = |secret456|
  iv_domain = |https://api.sample.com|
  iv_dryrun = ABAP_TRUE
  iv_networkid = |12345678|
  iv_provider = |virtru|
).

Save OpenTDF config - invalid provider

Save OpenTDF config - invalid provider

DATA(lo_result) = lo_client->registeropentdfconfig(
  iv_clientid = |client123|
  iv_clientsecret = |secret456|
  iv_domain = |https://api.sample.com|
  iv_networkid = |12345678|
  iv_provider = |invalid provider|
).

Save OpenTDF config - network not found

Save OpenTDF config - network not found

DATA(lo_result) = lo_client->registeropentdfconfig(
  iv_clientid = |client123|
  iv_clientsecret = |secret456|
  iv_domain = |https://api.sample.com|
  iv_networkid = |99999999|
  iv_provider = |virtru|
).