Prerequisites
- Use following keytool command to extract public certificate from the wso2is-5.1.0/repository/resources/security/wso2carbon.jks file.
(pw: wso2carbon)
keytool -export -alias wso2carbon -file key.crt -keystore wso2carbon.jks
Important: In production environment you must not use the default wso2carbon.jks which comes with the WSO2 Identity Server
|
- Use following command to print the extracted public certificate,
openssl x509 -text -inform DER -in key.crt
Ex:
-----BEGIN CERTIFICATE-----
MIICNTCCAZ6gAwIBAgIES343gjANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJV
UzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDU1vdW50YWluIFZpZXcxDTALBgNVBAoM
BFdTTzIxEjAQBgNVBAMMCWxvY2FsaG9zdDAeFw0xMDAyMTkwNzAyMjZaFw0zNTAy
MTMwNzAyMjZaMFUxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwN
TW91bnRhaW4gVmlldzENMAsGA1UECgwEV1NPMjESMBAGA1UEAwwJbG9jYWxob3N0
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCUp/oV1vWc8/TkQSiAvTousMzO
M4asB2iltr2QKozni5aVFu818MpOLZIr8LMnTzWllJvvaA5RAAdpbECb+48FjbBe
0hseUdN5HpwvnH/DW8ZccGvk53I6Orq7hLCv1ZHtuOCokghz/ATrhyPq+QktMfXn
RS4HrKGJTzxaCcU7OQIDAQABoxIwEDAOBgNVHQ8BAf8EBAMCBPAwDQYJKoZIhvcN
AQEFBQADgYEAW5wPR7cr1LAdq+IrR44iQlRG5ITCZXY9hI0PygLP2rHANh+PYfTm
xbuOnykNGyhM6FjFLbW2uZHQTY1jMrPprjOrmyK5sjJRO4d1DeGHT/YnIjs9JogR
Kv4XHECwLtIVdAbIdWHEtVZJyMSktcyysFcvuhPQK8Qc/E/Wq8uHSCo=
-----END CERTIFICATE-----
Workday Configurations
- Log in to the workday from an administrator account
- Open Edit Tenant Setup - Security
- Enable SAML Authentication
- Enter Identity Provider Name and Issuer.
Important: Issuer name MUST be equal to the Issuer value comes with the SAML Response from the Identity provider
|
- Add public certificate of the Identity Provider (which you have extracted from in the prerequisites)
|
|
Click on create and insert Name, Valid from, Valid to and Certificate here.
- Enable Workday initiated logout
- Set environments
- Generate private key pair if you don’t have a one
This certificate will use inside the identity server to validate the incoming authentication and logout requests from the Workday
Tip: You import a certificate to wso2 trust store using following command
(pw: wso2carbon)
keytool -import -alias workday -file workday.crt -keystore client-truststore.jks
Restart Identity Server after certificate import
|
- Insert Service Provider Name
Important: Service provider ID MUST start with http://www.workday.com/
|
- Enable SP initiated SAML authentication
- Enter Identity provider URL
- Add following configuration for authentication and logout requests
Enable following to sign login request,
Disable deflating of requests
Add request signature method
Finally click OK, then DONE.
Identity Server Configuration
- Add Service Provider
- Go to the SAML2 configuration page
- Set Issuer name. This value must be equal to Service Provider ID set in the Workday configuration
- Enter Assertion consumer URL
Tip: ACS URL will have following format,
https://www.myworkday.com/<Your workday tenant name>/login-saml.flex
|
- Enable Response Signing
- Enable signature validation in Authentication and Logout requests
Select the public certificate alias of the service provider( Section 8 in Workday configuration) from the drop down.
- Enable single logout
You need to provide logout URL in following format,
https://www.myworkday.com/<Your workday tenant name>/logout-saml.flex
- Click on Register, then Update
Now use https://www.myworkday.com/<Your workday tenant name>/login-saml2.flex URL to login to the Workday using WSO2 Identy Server,
If you want to change the Issuer value comes with SAML response from Identity server,
- Go to the Resident Identity Provider view
- Change “Identity Provider Entity Id” value to the required Issuer value
Comments
Post a Comment