Skip to content

/AWS1/IF_WKR=>REGISTEROIDCCONFIG()

About RegisterOidcConfig

Registers and saves an OpenID Connect (OIDC) configuration for a Wickr network, enabling Single Sign-On (SSO) authentication through an identity provider.

Method Signature

METHODS /AWS1/IF_WKR~REGISTEROIDCCONFIG
  IMPORTING
    !IV_NETWORKID TYPE /AWS1/WKRNETWORKID OPTIONAL
    !IV_COMPANYID TYPE /AWS1/WKRGENERICSTRING OPTIONAL
    !IV_CUSTOMUSERNAME TYPE /AWS1/WKRGENERICSTRING OPTIONAL
    !IV_EXTRAAUTHPARAMS TYPE /AWS1/WKRGENERICSTRING OPTIONAL
    !IV_ISSUER TYPE /AWS1/WKRGENERICSTRING OPTIONAL
    !IV_SCOPES TYPE /AWS1/WKRGENERICSTRING OPTIONAL
    !IV_SECRET TYPE /AWS1/WKRSENSITIVESTRING OPTIONAL
    !IV_SSOTOKENBUFFERMINUTES TYPE /AWS1/WKRINTEGER OPTIONAL
    !IV_USERID TYPE /AWS1/WKRGENERICSTRING OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_wkrregoidcconfigrsp
  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 OIDC will be configured.

iv_companyid TYPE /AWS1/WKRGENERICSTRING /AWS1/WKRGENERICSTRING

Custom identifier your end users will use to sign in with SSO.

iv_issuer TYPE /AWS1/WKRGENERICSTRING /AWS1/WKRGENERICSTRING

The issuer URL of the OIDC provider (e.g., 'https://login.example.com').

iv_scopes TYPE /AWS1/WKRGENERICSTRING /AWS1/WKRGENERICSTRING

The OAuth scopes to request from the OIDC provider (e.g., 'openid profile email').

Optional arguments:

iv_customusername TYPE /AWS1/WKRGENERICSTRING /AWS1/WKRGENERICSTRING

A custom field mapping to extract the username from the OIDC token (optional).

The customUsername is only required if you use something other than email as the username field.

iv_extraauthparams TYPE /AWS1/WKRGENERICSTRING /AWS1/WKRGENERICSTRING

Additional authentication parameters to include in the OIDC flow (optional).

iv_secret TYPE /AWS1/WKRSENSITIVESTRING /AWS1/WKRSENSITIVESTRING

The client secret for authenticating with the OIDC provider (optional).

iv_ssotokenbufferminutes TYPE /AWS1/WKRINTEGER /AWS1/WKRINTEGER

The buffer time in minutes before the SSO token expires to refresh it (optional).

iv_userid TYPE /AWS1/WKRGENERICSTRING /AWS1/WKRGENERICSTRING

Unique identifier provided by your identity provider to authenticate the access request. Also referred to as clientID.

RETURNING

oo_output TYPE REF TO /aws1/cl_wkrregoidcconfigrsp /AWS1/CL_WKRREGOIDCCONFIGRSP

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->registeroidcconfig(
  iv_companyid = |string|
  iv_customusername = |string|
  iv_extraauthparams = |string|
  iv_issuer = |string|
  iv_networkid = |string|
  iv_scopes = |string|
  iv_secret = |string|
  iv_ssotokenbufferminutes = 123
  iv_userid = |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_applicationname( ).
  lv_genericstring = lo_result->get_clientid( ).
  lv_genericstring = lo_result->get_companyid( ).
  lv_genericstring = lo_result->get_scopes( ).
  lv_genericstring = lo_result->get_issuer( ).
  lv_sensitivestring = lo_result->get_clientsecret( ).
  lv_sensitivestring = lo_result->get_secret( ).
  lv_genericstring = lo_result->get_redirecturl( ).
  lv_genericstring = lo_result->get_userid( ).
  lv_genericstring = lo_result->get_customusername( ).
  lv_genericstring = lo_result->get_cacertificate( ).
  lv_integer = lo_result->get_applicationid( ).
  lv_integer = lo_result->get_ssotokenbufferminutes( ).
  lv_genericstring = lo_result->get_extraauthparams( ).
ENDIF.

Save OIDC config successfully

Save OIDC config successfully

DATA(lo_result) = lo_client->registeroidcconfig(
  iv_companyid = |us-east-1-company123|
  iv_issuer = |https://login.example.com|
  iv_networkid = |12345678|
  iv_scopes = |openid profile email|
  iv_ssotokenbufferminutes = 5
  iv_userid = |email|
).

Save OIDC config - missing company ID

Save OIDC config - missing company ID

DATA(lo_result) = lo_client->registeroidcconfig(
  iv_companyid = ||
  iv_issuer = |https://login.example.com|
  iv_networkid = |12345678|
  iv_scopes = |openid profile email|
).

Save OIDC config - invalid company ID prefix

Save OIDC config - invalid company ID prefix

DATA(lo_result) = lo_client->registeroidcconfig(
  iv_companyid = |invalid-company123|
  iv_issuer = |https://login.example.com|
  iv_networkid = |12345678|
  iv_scopes = |openid profile email|
).