You do need to create a metadata file; Workday won't do it for you. We use
this site:
https://www.samltool.com/sp_metadata.php
Once you've created it for one Workday tenant, you can just copy it and
edit the XML directly for the other tenants; you don't have to use this
site for each tenant.
Then do something like this (copied from our internal wiki, and I'm not the
Workday guy, so I hope it makes sense to you!)
Configure Workday: Edit Tenant Setup - Security
1. Single Sign-on
1. Redirection URLs
-
Login Redirect URL:
https://www.myworkday.com/nYOURTENANTNAME/login-saml2.htmld
<https://www.myworkday.com/newschool/login-saml2.htmld>
-
Logout Redirect URL:
-
Timeout Redirect URL:
-
Mobile App Login Redirect URL:
https://www.myworkday.com/YOURTENANTNAME/login-saml2.htmld
<https://www.myworkday.com/newschool/login-saml2.htmld>
-
Mobile Browser Login Redirect URL:
https://www.myworkday.com/YOURTENANTNAME/login-saml2.htmld
<https://www.myworkday.com/newschool/login-saml2.htmld>
-
Environment: Production
2. SAML Setup
-
Enable SAML Authentication [image: (tick)]
- x509 Private Key Pair: YOURPRIVATEKEYPAIR
- Enable Mobile Browser SSO for Native Apps [image: (error)]
- Enable Certificate Based SSO [image: (error)]
- Enable Dynamic Certificate Pinning [image: (error)]
- Service Provider ID: http://www.workday.com/Y
<http://www.workday.com/newschool>OURTENANTNAME
- Enable SP Initiated SAML Authentication (Will be Deprecated) [image:
(tick)]
- IdP SSO Service URL:
https://YOURCASSERVER/cas/idp/profile/SAML2/POST/SSO
<https://sso.newschool.edu/cas/idp/profile/SAML2/POST/SSO>
- Sign SP-initiated Authentication Request [image: (tick)]
- Do Not Deflate SP-initiated Authentication Request [image: (tick)]
- Always Require IdP Authentication [image: (error)]
- Authentication Request Signature Method: SHA256
- Enable Signature KeyInfo Validation [image: (error)]
1. SAML Identity Providers
1. Identity Provider Name: SSO (CAS 5)
- Disabled [image: (error)]
- Issuer: https://YOURCASSERVER/cas/idp
<https://sso.newschool.edu/cas/idp>
- x509 Certificate: YOUR CAS SIGNING CERT
(/etc/cas/saml/idp-signing.crt)
1.
As of Workday 27, the cert must begin with "-----BEGIN
CERTIFICATE-----" and end with "-----END CERTIFICATE-----".
-
Enable IdP Initiated Logout [image: (error)]
-
Logout Response URL:
-
Enable Workday Initiated Logout [image: (tick)]
-
Logout Request URL:
https://YOURCASESERVER/logout/myday/YOURTENANTNAME.html
<https://sso.newschool.edu/logout/myday/newschool.html>
-
Use Unspecified Name ID Format for Logout Request [image:
(error)]
-
SP Initiated [image: (error)]
-
IdP SSO Service URL:
-
Managed Device Attribute:
-
Used for Environments: Production
Note: for "Logout Request URL" we send the users to a little "logout" page
rather than the standard SAML logout. This is OPTIONAL. We put ours in
.../tomcat/webapps/ROOT/logout/myday/YOURTENANTNAME.html on the CAS
server. It's basically just this:
<body>
<div class="container">
<div class="well">
<img id="logo" src="myday-logo.png"/>
<p>You have either logged out or timed out of your Workday session. To
protect your sensitive information, we recommend that you close
your browser.</p>
<p>You may also <a href="https://www.myworkday.com/YOURTENANTNAME">
log in to Workday again</a>.</p>
</div>
</div>
</body>
The metadata we upload (generated by the site above) looks like the
attached.
Hope this helps.
--Dave
--
DAVID A. CURRY, CISSP
*DIRECTOR OF INFORMATION SECURITY*
THE NEW SCHOOL • INFORMATION TECHNOLOGY
71 FIFTH AVE., 9TH FL., NEW YORK, NY 10003
+1 212 229-5300 x4728 • [email protected]
On Thu, Nov 29, 2018 at 3:08 PM Danny <[email protected]> wrote:
> I'm working on getting CAS 5.3 SAML2 IdP working with Workday, but not
> making much progress. Workday says the metadata file isn't required, but I
> can't see anyway to set it up with out one. Can you give more details on
> how you go this to work?
>
> Thanks
>
> On Tuesday, March 13, 2018 at 2:34:16 PM UTC-5, [email protected]
> wrote:
>>
>> We are trying to configure our Workday Preview tenant to authenticate via
>> SAML2 to a CAS 5.2.2 IdP.
>>
>> In the management webapp, we have defined a "SAML2 Service Provider"
>> service. The EntityID is set to:
>>
>> https://impl.workday.com/xxxxx
>>
>>
>> which matches the EntityID in the SP's metadata. When we try to log in
>> to Workday, we receive this error from the Workday side:
>>
>> Invalid Audience in SAML token: URL should start with
>> http://www.workday.com, or end with /xxxxx/login-saml.htmld
>>
>>
>> The string they're saying it should end with is the tenant name ("xxxxx")
>> and the name of the web page (login-saml.htmld) that is listed in the
>> metadata as the AssertionConsumerService. However, CAS is sending back
>> the EntityID as the audience:
>>
>> <saml2:Conditions NotBefore="2018-03-13T16:39:12.776Z"
>> NotOnOrAfter="2018-03-13T16:39:17.776Z">
>> <saml2:AudienceRestriction>
>> <saml2:Audience>https://impl.workday.com/xxxxx
>> </saml2:Audience>
>> </saml2:AudienceRestriction>
>> </saml2:Conditions>
>>
>> which appears to be correct behavior in the normal (non-Workday) world.
>>
>> On our old CAS 3.5.x/Shibboleth 2.4.0 setup (which the same Workday
>> tenant works successfully with), we had to add a line in the relying party
>> profile configuration (in relying-party.xml) to address this:
>>
>> <saml:Audience>http://www.workday.com</saml:Audience>
>>
>>
>> which results in the SAML2 response sent back to Workday containing two
>> audiences:
>>
>> <saml2:Conditions NotBefore="2018-03-13T13:44:01.503Z"
>> NotOnOrAfter="2018-03-13T13:49:01.503Z">
>> <saml2:AudienceRestriction>
>> <saml2:Audience>https://impl.workday.com/xxxxx
>> </saml2:Audience>
>> <saml2:Audience>http://www.workday.com</saml2:Audience>
>> </saml2:AudienceRestriction>
>> </saml2:Conditions>
>>
>> However, I don't see any way to perform the equivalent, either through
>> the management webapp's user interface or by editing the service registry
>> manually. And I don't see anything in the documentation or searching the
>> code on GitHub.
>>
>> We are NOT using the cas-server-support-saml-sp-integrations
>> dependency.... should we be?
>>
>> Does anyone have CAS 5.2.x SAML IdP working with Workday, especially a
>> sandbox/implementation/preview tenant?
>>
>> Any ideas (even crazy ones) gladly accepted...
>>
>> Thanks,
>> --Dave
>>
>> --
> - Website: https://apereo.github.io/cas
> - Gitter Chatroom: https://gitter.im/apereo/cas
> - List Guidelines: https://goo.gl/1VRrw7
> - Contributions: https://goo.gl/mh7qDG
> ---
> You received this message because you are subscribed to the Google Groups
> "CAS Community" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/a/apereo.org/d/msgid/cas-user/998a97d5-c952-4c81-8593-4da80388959b%40apereo.org
> <https://groups.google.com/a/apereo.org/d/msgid/cas-user/998a97d5-c952-4c81-8593-4da80388959b%40apereo.org?utm_medium=email&utm_source=footer>
> .
>
--
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
---
You received this message because you are subscribed to the Google Groups "CAS
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/a/apereo.org/d/msgid/cas-user/CA%2Bd9XANWn-gkiyuEWGENH8-GSeP6wNx9t4cOVCCyWzZY%3D1D6zQ%40mail.gmail.com.
<?xml version="1.0"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
ID="http://workday.workday.com/YOURTENANTNAME"
entityID="http://www.workday.com/YOURTENANTNAME">
<md:SPSSODescriptor AuthnRequestsSigned="true"
WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:KeyDescriptor use="signing">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>
MIIDYjCCA...0AfF5v
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
<md:KeyDescriptor use="encryption">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>
MIIDYjCCA...0AfF5v
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
</md:NameIDFormat>
<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
</md:NameIDFormat>
<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
</md:NameIDFormat>
<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient
</md:NameIDFormat>
<md:AssertionConsumerService
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Location="https://www.myworkday.com/YOURTENANTNAME/login-saml.htmld"
index="0" isDefault="true" />
</md:SPSSODescriptor>
</md:EntityDescriptor>