Workday as an ID provider for SAML authentication - saml

I have read the documentation which seems to lead me to believe that WD can act as a SAML ID provider. The use case is to be able to authenticate access for a valid Workday user into another website which uses SAML and does not use oAuth or social login etc.
Can you please let me know if this is possible and what documentation I would refer to please?

Yes, in a limited fashion. From a Workday doc:
You can create and edit SAML SSO links that use Workday as a SAML IdP
to sign in to other systems from Workday. Depending on your link
configuration, you can also pass contextual data to external systems.
Workday supports both SAML 1.1 and SAML 2.0.
Workday docs are published via a Workday Community. You must be a current Workday customer, partner or an employee to access it.

Related

OpenID connect VS SAML flows

I am currently going through OneLogin's documentation.
There is one point that remains unclear to me.
I think I understand the main differences between SAML and OIDC.
However on the SAML description it seems that there is no authentication required from the end user.
Compared to the OIDC description, where a code is required from the end user.
This point only would make me lean toward SAML as it is "frictionless".
My questions are -knowing that I want to integrate with OneLogin-:
Is SAML "frictionless"? Can it be?
Is OIDC "frictionless"? Can it be?
If so, is it a specific OneLogin feature? (It seems that all the documentation that I found online mention authentication with the IdP)
Thank you for your help!
The article states:
"The user either has an existing active browser session with the identity provider or establishes one by logging into the identity provider."
So the user has to authenticate if no existing browser session.
The article is around SSO i.e. if you have already logged into an IDP with SAML and you access another application on that same IDP, you won't have to login again.
OIDC has the same approach.
OIDC can be "frictionless" if you use the Resource Owner Password flow where you pass the user name and password under the hood. The user does not have to authenticate.
But it's deprecated in OAuth 2.1 as it's not secure.

JAVA based SAML token authentication for Okta without spring

I have a requirement where in we have integrated our ECM software with okta. To upload documents to the ECM software, i would need to get the SAML token from okta and append the token with the document upload request webservice.
I would like to know if there are any documentations/ java code snippets which explain a simple okta-saml based authentication without any Spring security or other frameworks.
The reason I am asking this is because, we use a webservice to uplaod the documenst to ECM software wits the SAMl token embedded.
Please let me know how to achieve a simple okta SAML authentication for the above scenario.
Thanks,
Pradeep
I have used some git hub codes without any success.
Of course you can implement a SAMLv2 compliant Service Provider yourself, but this will take some time. I would not only consume the SAML Assertion (the XML Document) as such. The SAML message handling could be done with OpenSAML library (https://wiki.shibboleth.net/confluence/display/OS30/Home), but it won't provide you with a SAMLv2 compliant SP implementation.

SSO Integration (As Identity Provider)

I need some guidance on my SSO implementation. We have a web application where we are authenticating the user through applications Database. We check user details in USER table and match password. If everything looks good we create PHP session and allow user to Login. One of our partners is requested for SSO integration, they want us to behave like Identity Provider (their application will be Service Provider). I have no idea from where should I start. Few initial guiding points will be a great help.
Thank you!
First question is what protocol they want to use:
SAML 2.0, WS-Federation or OpenID Connect / OAuth?
What platforms do you use? - Windows , Linux? Microsoft shop?
Do you want to pay for a commercial product or use open source?
What repository do you want to authenticate against? You mention a DB. Is this SQL Server, MySQL or what? Not all products authenticate against all repositories.
If e.g. the answer is SAML 2.0 and open source, look at shibboleth or simpleSAMLphp.
identityserver would be another possibility.
If the answer is WS-Fed, Microsoft commercial, look at ADFS.

How to determine authorization rights after a login via SAML SSO

First of all I do not have any experience with SAML (version 2).
I was asked to investigate how we can make an existing site, which has a normal login page with a username and password page, ready for SSO with SAML.
There are some tools around which we can use in order to do this.
So I think it is not so difficult to implement the SSO part.
But however it is not clear to me how the authorization is managed.
The system (web site) is using authorization rights in order to determine if the user is able do access certain parts and if he does, the right type he has (view, create or edit).
These rights are assigned to each user by an administrator in the system itself.
When a user logs in the system by specifying his credentials (without SAML/SSO) his rights are also retrieved.
How is this done when a person logs into the site by using SSO?
Is there a mapping of the userId which is know by the IdP (Identity Provider) to the userId which is know by our system?
And is this send in the SAML response from the IdP?
Or is this done in another way?
Thanks in advance
SAML is mainly a authentication protocol but there are still many ways to solve this. SAML supports sending authorization infromation in AuthzDecisionStatement in the assertion.
Another alternative is to extend SAML using XACML which is a big framework for transferring Authz information.
However the support for these are limited in many SAML providers.
The simpler solution and probably the best in your case, if it is just one access right per user, is to send it as an attribute in the SAML assertion. This can usualy be mapped against for user properties.

Single Sign On Microsoft ADFS

I am tasked with setting up Single-Sign-On between ADFS and Taleo Business Edition. In this case it is an IdP initiated SSO and I have to use .net. I know .net 4.5 supports SAML, which is what the relying party (Taleo) requires to validate a user-- but I cannot find any good tutorials to even get started. Any help is appreciated, I have read through the WIF documents and some of their Developer Training Kit but it does not seem to be what I need to do. Does anyone have any pointers on good places to start? No one in my office is sure of how to do this.
EDIT: My approach is to just create a .aspx form and put that link on our intranet homepage, send the necessary credentials to the relying party (Taleo), who then interprets the SAML token and redirects the user. Does this this seem like a sound approach?
What you have to do is add Taleo as a Claims provider to ADFS. easiest to ask then for their metadata file and import that.
Essentially you are federating ADFS and Taleo.
This a common pattern - refer e.g. AD FS 2.0 Step-by-Step Guide: Federation with Shibboleth 2 and the InCommon Federation for a SAML example.
.NET 4.5 does not support the SAML protocol - it only supports SAML tokens. Neither does WIF.
You would normally go to the ADFS IDP Initiated page, sign in and then pick Taleo from the dropdown and then you will be redirected to Taleo with SSO so you won't need to authenticate again.'