Configuring WebCenter Content for Oracle Identity Cloud Service (IDCS) on OKE. Configuration information is provided in the following sections:
To update SSL.hostnameVerifier property, do the following: This is necessary for the IDCS provider to access IDCS.
Stop all the servers in the domain including Administration server and all Managed WebLogic servers.
Update the SSL.hostnameVerifier property:
edit the file <DOMAIN_HOME>//bin/setDomainEnv.sh: go to pv location file system and modify the file setDomainEnv.sh sample: /WCCFS/wccinfra/bin/setDomainEnv.sh
OR
Alternatively create or modify the file
<DOMAIN_HOME>/<domain_name>/bin/setUserOverrides.sh
. Add the SSL.hostnameVerifier
property for the IDCS Authenticator:
sample: /WCCFS/wccinfra/bin/setUserOverrides.sh
EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES} -Dweblogic.security.SSL.hostnameVerifier=weblogic.security.utils.SSLWLSWildcardHostnameVerifier"
export EXTRA_JAVA_PROPERTIES
Start the Administration server and all Managed WebLogic servers.
Log in to the IDCS administration console.
Create a trusted application. In the Add Confidential Application wizard:
To configure Identity Cloud Integrator Provider:
Log in to the WebLogic Server Administration console.
Select Security Realm
in the Domain Structure pane.
On the Summary of Security Realms
page, select the name of the realm (for example, myrealm). Click myrealm
. The Settings for myrealm
page appears.
On the Settings for Realm Name page, select Providers
and then Authentication
. To create a new Authentication Provider, in the Authentication Providers table, click New.
In the Create a New Authentication Provider
page, enter the name of the authentication provider, for example, IDCSIntegrator and select the OracleIdentityCloudIntegrator
type of authentication provider from the drop-down list and click OK.
In the Authentication Providers table, click the newly created Oracle Identity Cloud Integrator, IDCSIntegrator
link.
In the Settings for IDCSIntegrator
page, for the Control Flag field, select the Sufficient
option from the drop-down list Click Save
.
Go to the Provider Specific page to configure the additional attributes for the security provider. Enter the values for the following fields & Click Save
:
NOTE: If IDCS URL is idcs-abcde.identity.example.com, then IDCS host would be identity.example.com and tenant name would be idcs-abcde. Keep the default settings for other sections of the page.
Select Security Realm
, then myrealm
, and then Providers
. In the Authentication Providers table, click Reorder
.
In the Reorder Authentication Providers
page, move IDCSIntegrator
on the top and click OK.
In the Authentication Providers table, click the DefaultAuthenticator
link. In the Settings for DefaultAuthenticator
page, for the Control Flag field, select the Sufficient
option from the drop-down list. Click Save
.
All changes will be activated. Restart the Administration server.
To set up trust between IDCS and WebLogic
echo -n | openssl s_client -showcerts -servername <IDCS_URL> -connect <IDCS_URL>:443|sed -ne '/-BEGIN CERTIFICATE-/,/-END
CERTIFICATE-/p' > /tmp/idcs_cert_chain.crt
#sample
echo -n | openssl s_client -showcerts -servername xyz.identity.oraclecloud.com -connect idcs-xyz.identity.oraclecloud.com:443|sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/idcs_cert_chain.crt
#copy the certificate inside the admin_pod
kubectl cp /tmp/idcs_cert_chain.crt wccns/xyz-adminserver:/u01/idcs_cert_chain.crt
connect('weblogic','Welcome_1','t3://<WEBLOGIC_HOST>:7001')
svc=getOpssService(name='KeyStoreService') svc.importKeyStoreCertificate(appStripe='system',name='trust',password='',alias='idcs_cert_chain',type='TrustedCertificate',filepath='/tmp/idcs_cert_chain.crt',keypassword='')
syncKeyStores(appStripe='system',keystoreFormat='KSS')
#sample
$./wlst.sh
wls:/offline> connect('weblogic','welcome','t3://xyz-adminserver:7001')
wls:/wccinfra/serverConfig/> svc=getOpssService(name='KeyStoreService')
wls:/wccinfra/serverConfig/>svc.importKeyStoreCertificate(appStripe='system',name='trust',password='',alias='idcs_cert_chain',type='TrustedCertificate',filepath='/u01/idcs_cert_chain.crt',keypassword='')
wls:/wccinfra/domainRuntime/>syncKeyStores(appStripe='system',keystoreFormat='KSS')
It is important to create the Admin user in IDCS because once the Managed servers are configured for SAML, the domain admin user (typically weblogic user) will not be able to log into the Managed servers.
To create WebLogic Admin user in IDCS for WebCenter Content JaxWS connection:
This will require modifying OPSS and libOVD to access IDCS. The following steps are required if using IDCS for user authorization. Do not run these steps if you are using IDCS only for user authentication. Ensure that all the servers are stopped (including Administration) before proceeding with the following steps:
NOTE: Shutdown all the servers using WebLogic Server Administration Console. Please keep in mind -
kubectl patch domain
command is the recommended way for starting/stopping pods. Please refrain from using WebLogic Server Administration Console for the same, anywhere else.
Run the following script:
#exec the Administration server
kubectl exec -n wccns -it wccinfra-adminserver -- /bin/bash
#Run the wlst.sh
cd /u01/oracle/oracle_common/common/bin/
./wlst.sh
NOTE: It’s not required to connect to WebLogic Administration Server.
Read the domain:
readDomain(<DOMAIN_HOME>)
#sample
wls:/offline> readDomain('/u01/oracle/user_projects/domains/wccinfra')
Add the template:
addTemplate(<MIDDLEWARE_HOME>/oracle_common/common/templates/wls/oracle.opss_scim_template.jar")
#sample
wls:/offline/wccinfra>addTemplate('/u01/oracle/oracle_common/common/templates/wls/oracle.opss_scim_template.jar')
NOTE: This step may throw a warning, which can be ignored. The addTemplate is deprecated. Use selectTemplate followed by loadTemplates in place of addTemplate.
Update the domain:
updateDomain()
#sample
wls:/offline/wccinfra> updateDomain()
Close the domain:
closeDomain()
#sample
wls:/offline/wccinfra> closeDomain()
Exit from the Administration server container:
exit
Start the servers (Administration and Managed).
If the Logout link is selected, you will be re-authenticated by SAML. To be able to select the Logout link:
EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES} -Dweblogic.security.SSL.hostnameVerifier=weblogic.security.utils.SSLWLSWildcardHostnameVerifier"