Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Web SSO using Java and SAML 2.0 [closed]

Tags:

I'd like to write a web application which does the authentication using SAML 2.0 tokens, issued by an identity provider. I understand, according to this question, that there is a viable solution in the PHP world using simpleSAMLphp.

Is there an equivalent method in the Java world? Are there out of the box solutions and/or tutorials for common servlet containers or application servers?

like image 865
spa Avatar asked Feb 05 '10 13:02

spa


People also ask

Is SAML 2.0 still used?

SAML 2.0 was introduced in 2005 and remains the current version of the standard. The previous version, 1.1, is now largely deprecated.

Is SAML 2.0 SSO?

SAML 2.0 (Security Assertion Markup Language) is an open standard created to provide cross-domain single sign-on (SSO). In other words, it allows a user to authenticate in a system and gain access to another system by providing proof of their authentication.

What is SAML 2.0 error?

SAML errors usually occur when there's missing or incorrect information entered during your SAML setup. You can resolve most of these issues from your IDP settings, but for some, you'll need to update your SSO settings in Slack as well.


2 Answers

You can try the OpenSAML project; it provides a Java library for creating and validating SAML tokens.

like image 165
LiorH Avatar answered Oct 23 '22 12:10

LiorH


You could take a look at 2 products:

  • JOSSO: http://www.josso.org
  • OpenAM, which is a fork of Sun's OpenSSO since Oracle decided to kill it: http://forgerock.com/openam.html

Both have a rather impressive features list and offer a wide list of SSO agents.

The main benefit of the agent approach is that you don't have to care in your application about the authentication process as it is handled by the agent and the SSO infrastructure.

If you're going to develop your own SAML2 Service Provider, using OpenSAML is the way to go. The downside is that this library is not that well documented. Nevertheless you should find easily some tutorials on OpenSAML on the web.
You could implement it for example as a servlet filter, so that your application code is not tied to SAML.

like image 31
sk_ Avatar answered Oct 23 '22 12:10

sk_