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