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