IdP initiated SSO using custom library - saml-2.0

I have a custom MVC solution based on user login through database based user validation. Now I want to send a SAML token by doing a IDP initiated SSO which will send my user data to service provider using X.509 based encryption.
I don't want to use any external Identity Provider for that. Is there any open source Java library through which I can generate a SAML token from my custom JEE application?

There are a number detailed here: SAML : SAML connectivity / toolkit.

Related

How to do Non Interactive User Login from browser for SAML SSO flow between IDP and SP

I am unable to find Api's on implementing SAML authentication flow for the SP Application programmatically without user's to manually enter their credentials on SAML compliant IDP( SAP IAS) login screen configured for the SP application as a starting point , I have established the trust between the the IDP and SP application ,trying to implement non interactive login from browser , is there any way to implement this approach.
According to the saml standards you can't send password via saml authn request, therefore you will not be able to authenticate from idp without redirecting to idp login using saml. But if you have control over idp you can implement a shared cookie concept to achve this requirement, but then this is no more saml compliant.
SAML was never designed for machine-to-machine authorization. The closest (IMO) that you can safely get while staying inside intended usage and specs is passing a SAML assertion wrapped in a WS-Trust STS transaction.
I would suggest you look into either WS-Trust or OAuth. Either of these are built for machine-to-machine transactions.

SAML authentication with client certificate but without user interaction using ITfoxtec.Identity.Saml2

I need to call a SOAP webservice using SAML authentication.
They expect the saml token as part of the SOAP request(This should not be a problem).
The actual authentication on the IDP must be done using a client certificate (private key), but without any user interaction.
As far as i understand are the samples on https://www.itfoxtec.com/IdentitySaml2 are based on browser based redirection authentication.
Question: Is it possible to authenticate on an IDP via client certificate without user interaction using the ITfoxtec.Identity.Saml2 library?
If yes, could you point me in the direction of how to do this, or is there even a sample for such a use case?
No it is not possible to authenticate on an IdP via a client certificate without user interaction using the ITfoxtec.Identity.Saml2 library. The library support SAML 2.0 and SAML 2.0 profile (browser based redirect/post login and logout).
Inested you need to use WS-Trust and SAML 2.0 which is supported by .NET.

Can we use OneLogin/Okta/Auth0 as Proxy SP between Google IdP and application

We have an application for which we would like to enable users to login into our application with their own Identity Providers like Google, ADFS etc with SAML 2.0 as protocol.
In this context our application will be SP and Identity Providers will be Google, ADFS.
But currently we don't have SAML implementation at our application, so we would like to use some platform like OneLogin/Okta/Auth0 as middle proxy between our application and IdP so that SAML related handling can be done at OneLogin/Okta/Auth0 and we need to get callback to our application with user details after success login.
Is this possible with any SASS based SAML providers? and how to do it.
Thanks in advance
Yes - connect to Auth0 / Okta via OpenID Connect and then connect the IDP to other IDP via SAML.
So in this context, Auth0 / Okta is a SAML SP.
Have a look here.

How do I implement SAML in my application

I am using a SaaS application and I want to use our own LDAP to Login to that 3rd party application. I want to provide a link to that application in my Portal. Both the applications are hosted in Cloud and are Spring based.
Please let me know where to Start and how to go about implementing SP initiated SAML.
Thanks!
First of all you need a SAML IDP that authenticates against LDAP e.g. shibboleth.
Then you need a client side SAML stack.
Refer: SAML : SAML connectivity / toolkit.
You could also look at IDaaS e.g. Auth0 or Okta.

Consuming Saml2.0 in MVC5 .net frame work 4.5 (Saml2.0 token is generated by F5 BigIp tool)

Current State of web application:
We have an existing web application designed in AngularJs, MVC5. Authentication is happening against our custom database.
SignIn:
We did over ride Microsoft.AspNet.Identity.UserManager and other source classes to talk to our database to get user related information.
adding the results to System.Security.Claims.ClaimsIdentity.
Passing on to "Microsoft.Owin.Security.IAuthenticationManager.SignIn(params System.Security.Claims.ClaimsIdentity[] identities)
What I need SSO:
We would like to move the auhentication to SSO with SAML 2.0 token as we are planning to integrate 2 new vendors into our web application
Identity Provider:
We are implementing Identity provider in F5 Big Ip which does the authentication by providing the login page and generates the saml2 token. Our web application would be configured as Service provider. On redirect to the web application it will pass on the saml2.0 token.
Consuming SAML2.0 in MVC .net framework 4.5.2
All my application would need is to consume saml2.0 token and integrate with existing authentication pipeline.
Things to do:
Meta data from Identity provider has public key to decrypt saml2.0 token and as well a key which is used to sign the meta data file
My assumption would be parse the request for SAML 2.0 token and verify if the token is valid and use the data from the attributes and query the database for more details and insert the results into "System.Security.Claims.ClaimsIdentity" and use the existing signin operation.
Need to figure out how to configure the principle.. and do we still need Microsoft.AspNet.Identity.UserManager.
Research:
In visual studio we had identity and access tool which doesnt exist from vs2013.
Went through the article on windows identity foundation and claims identity principle
www.codeproject.com/Articles/504399/Understanding-Windows-Identity-Foundation-WIF
I know wif support saml2.0 token but not saml2 protocols.
Here are the third party tools that was suggested to be used
http://nzpcmad.blogspot.co.nz/2013/06/saml-saml-connectivity-toolkit.html
I am not sure just to consume do I need to used one of the tool? As we have our IDP configured in F5 bigip and not designed in .net
Another good article I found
http://www.primaryobjects.com/2013/08/08/using-single-sign-on-with-windows-identity-foundation-in-mvc-net/
Also saw some suggestions about Saml2SecurityTokenHandler to process saml2.0 token.
I appreciate if someone can direct me to simpler solution to integrate to my existing web app. Just need to consume saml2.0 token and integrate with existing claims based authentication.
OK - then you have to use a SAML stack as per the link you used.
Have a look at Kentor - there's some examples on the site plus I did a write up
Update:
The way SAML works is that the client needs to send an AuthnRequest to the IDP, then the user authenticates and then the IDP sends a AuthnResponse to the client. The response contains the SAML token which contains the assertions (claims).

Resources