SlideShare a Scribd company logo
Fast and Free SSO: A Survey
of Open-Source Solutions to
Single Sign-On
Craig Dickson, Software Engineering Manager
Naveen Nallannagari, Senior Consultant
Behr Process Corporation
www.behr.com
TS-4604

                     2007 JavaOneSM Conference | Session TS-4604 |
Goals of This Presentation
A survey of Open-Source Solutions to Single Sign-On



Present a sample of the different open
source-based SSO solutions, critically
compare and contrast them and provide
tips on how to choose the right one to fit
your needs.



                      2007 JavaOneSM Conference | Session TS-4604 |   2
Agenda
What Is SSO? (Briefly)
Survey of the Main Open Source Players
Head-to-Head Comparisons
Summary
Q&A




                  2007 JavaOneSM Conference | Session TS-4604 |   3
Agenda
What Is SSO? (Briefly)
Survey of the Main Open Source Players
Head-to-Head Comparisons
Summary
Q&A




                  2007 JavaOneSM Conference | Session TS-4604 |   4
What Is SSO?
It is definitely notā€¦




ā€œEvery Single time you want to do something,
 you are going to have to Sign-On!ā€
                                                              ā€”Your Sys Admin




                        2007 JavaOneSM Conference | Session TS-4604 |   5
What Is SSO?
This is more like itā€¦
ā€¢ Authenticate only once and access
  multiple resources
ā€¢ Improved user productivity
ā€¢ Improved developer productivity
ā€¢ Ease of administration




                        2007 JavaOneSM Conference | Session TS-4604 |   6
What Is SSO?
But what about the downsidesā€¦
ā€¢ Potentially creates a single point of attack
   ā€¢ Malicious types only need 1 set of credentials
     and they can do a lot of damage
ā€¢ Can be very difficult to retrofit existing
  applications and infrastructure with an
  SSO solution




                       2007 JavaOneSM Conference | Session TS-4604 |   7
Agenda
What Is SSO? (Briefly)
Survey of the Main Open Source Players
Head-to-Head Comparisons
Summary
Q&A




                 2007 JavaOneSM Conference | Session TS-4604 |   8
OpenSSO
Open Web SSO
ā€¢ Mission of OpenSSO
 To provide an extensible implementation of identity
 services infrastructure that will facilitate Single Sign-On
 for web applications
ā€¢ From the java.net community
ā€¢ Focused on web-based single sign-on
  ā€¢ A common starting point for many identity
    management projects




                         2007 JavaOneSM Conference | Session TS-4604 |   9
OpenSSO
Continuedā€¦
ā€¢ Sun will make the following Sun Javaā„¢ System Access
  Manager modules freely available as part of OpenSSO
   ā€¢ Authentication
   ā€¢ Single-domain SSO
   ā€¢ Web and Java 2 Platform, Enterprise Edition
     (J2EEā„¢ platform) agents
   ā€¢ Session management
   ā€¢ Policy
   ā€¢ Console
   ā€¢ Administration tools
   ā€¢ Federation
   ā€¢ Policy agents

                          2007 JavaOneSM Conference | Session TS-4604 |   10
OpenSSO
OpenSSO Architecture




                       2007 JavaOneSM Conference | Session TS-4604 |   11
OpenSSO
OpenSSO Configuration
ā€¢ Open SSO is deployed as only one application
   opensso.war
ā€¢ After installation, configuration (name of host,
  protocol, etc.) can be done at:
  http://localhost:8080/opensso/configurator.jsp
ā€¢ Realms have to be created




                    2007 JavaOneSM Conference | Session TS-4604 |   12
OpenSSO
OpenSSO Configuration
ā€¢ Installation of Agent (e.g., Tomcat)
   ā€¢ agentadmin - install
ā€¢ Modify web.xml
   <security-constraint>
      <web-resource-collection>
          <web-resource-name>Protected Resources</web-resource-name>
         <url-pattern>/secure/*</url-pattern>
      </web-resource-collection>
      <auth-constraint>
          <role-name>id=teste, ou=role, dc=opensso, dc=java, dc=net</role-name>
      </auth-constraint>
   </security-constraint>
   <login-config>
       <auth-method>FORM</auth-method>
       <form-login-config>
           <form-login-page>/authentication/login.html</form-login-page>
           <form-error-page>/authentication/accessdenied.html</form-error-page>
       </form-login-config>
   </login-config>
   <security-roll id="test">
       <role-name>id=test, ou=role, dc=opensso, dc=java, dc=net</role-name>
   </security-role>


                                2007 JavaOneSM Conference | Session TS-4604 |   13
JOSSO
Java Open Single Sign-On
ā€¢ Based on Java Authentication and Authorization
  Service (JAAS)
ā€¢ Uses web services implemented with Apache Axis
  as the distributed infrastructure
ā€¢ Uses Apache Struts and JavaServer Pagesā„¢
  technology (JSPā„¢ page) technology standards
ā€¢ Comes with a Reverse Proxy component that can be
  used to create n-tier Single Sign-On configurations
   ā€¢ Allows n-tier configurations using multiple strategies, including
     storing user information and credentials in LDAP, Databases,
     and XML files


                           2007 JavaOneSM Conference | Session TS-4604 |   14
JOSSO
Continuedā€¦
ā€¢ Implement and combine multiple authentication
  schemes with credential stores
ā€¢ Credential Stores are repositories for user
  credentials, to be used during the user
  authentication transaction
ā€¢ Can be configured to use (for example) certificate-
  based authentication scheme, obtaining user
  X.509 certificates from a database using Java
  DataBase Connectivity (JDBCā„¢) software


                    2007 JavaOneSM Conference | Session TS-4604 |   15
JOSSO
JOSSO Architecture




                     2007 JavaOneSM Conference | Session TS-4604 |   16
JOSSO
JOSSO Configuration
ā€¢ Integration of JOSSO with specific application
  Server (Tomcat or JBoss)
ā€¢ Integrating Java Web Application with JOSSO




                      2007 JavaOneSM Conference | Session TS-4604 |   17
JOSSO
JOSSO Configurationā€”Integration with Tomcat or JBoss
ā€¢ The Single Sign-On Gateway Configuration
   ā€¢ Configuration file: josso-gateway-config.xml
       ā€¢   Authenticator
       ā€¢   Identity Manager
       ā€¢   Session Manager
       ā€¢   Audit Manager
       ā€¢   Event Manager

ā€¢ Single Sign-On Agent Configuration
   ā€¢ To check that a previously user logged in is authorized to
     access a web context
   ā€¢ Configuration file to declare the concrete configuration files:
       $CATALINA_HOME/bin/josso-config.xml



                              2007 JavaOneSM Conference | Session TS-4604 |   18
JOSSO
JOSSO Configurationā€”Integration with Tomcat or JBoss
ā€¢ Protect a Web Application
   ā€¢ Add to server.xml file
   <Host>
       ...
       <Valve className="org.josso.tc50.agent.SSOAgentValve" debug="1"/>
       ...
   </Host>


   ā€¢ For each request to the /partner Web Context, the
     Single Sign-On Agent will intercept it, assert the Single
     Sign-On session, and obtain the user data from the
     Single Sign-On Gateway

                           2007 JavaOneSM Conference | Session TS-4604 |   19
JOSSO
JOSSO Configurationā€”Integration with Tomcat or JBoss
ā€¢ Add a JAAS Realm
   ā€¢ In order to integrate the Single Sign-On Agent with the Single
     Sign-On Gateway a JAAS Tomcat Realm entry must be added
     to the server.xml
ā€¢ Configure a JAAS Login Module
   ā€¢ jaas.conf file in the $CATALINA_HOME/conf directory with
     the following content:
   josso {
     org.josso.tc50.agent.jaas.SSOGatewayLoginModule
     required debug=true;
   };
   ā€¢ The Login Module validates the session and obtains the
     corresponding user and role information by invoking the
     gateway identity management web services
                          2007 JavaOneSM Conference | Session TS-4604 |   20
JOSSO
JOSSO Configurationā€”Integration with Tomcat or JBoss
ā€¢ Configure the Agent
<?xml version="1.0" encoding="ISO-8859-1" ?>
<agent>
    <class>org.josso.tc50.agent.CatalinaSSOAgent</class>
    <gatewayLoginUrl>http://localhost:8080/josso/signon/login.do</gatewayLog
       inUrl>
    <gatewayLogoutUrl>http://localhost:8080/josso/signon/logout.do</gatewayL
       ogoutUrl>
    <sessionAccessMinInterval>1000</sessionAccessMinInterval>
    <service-locator>
             <class>org.josso.gateway.WebserviceGatewayServiceLocator</class
               >
             <endpoint>localhost:8080</endpoint>
    </service-locator>
    <partner-apps>
             <partner-app>
                 <context>/partner</context>
             </partner-app>
    </partner-apps>
</agent>


                             2007 JavaOneSM Conference | Session TS-4604 |   21
JOSSO
JOSSO Configurationā€”Integration Java application
with JOSSO
ā€¢ Web application Security Constraints
ā€¢ Configured using three elements in web.xml
   ā€¢ <login-config> element
   ā€¢ <security-constraint> element
   ā€¢ <security-role> element




                      2007 JavaOneSM Conference | Session TS-4604 |   22
JOSSO
JOSSO Configurationā€”Integration Java application
with JOSSO
ā€¢ Integrating Enterprise JavaBeansā„¢ (EJBā„¢) with JOSSO
   ā€¢   The security constraints should be declared in the ejb-jar.xml file of the
       partner components based on the Enterprise JavaBeans specification (EJB
       components)
   ā€¢   For the user identity to be propagated to the EJB components tier, the jboss.xml
       file must set java:/jaas/josso as the security domain in the following way:

   <?xml version="1.0" encoding="UTF-8"?>
   <jboss>
      <security-domain>java:/jaas/josso</security-domain>
      <enterprise-beans>
         <session>
            <ejb-name>PartnerComponentEJB</ejb-name>
            <jndi-name>josso/samples/PartnerComponentEJB</jndi-name>
         </session>
      </enterprise-beans>
   </jboss>
                                 2007 JavaOneSM Conference | Session TS-4604 |   23
JA-SIG CAS
Central Authentication Service
ā€¢ An open and well-documented protocol
ā€¢ A library of clients for Java technology, .NET,
  PHP, Perl, Apache, uPortal and others
ā€¢ Integrates with uPortal, BlueSocket, TikiWiki,
  Mule, Liferay, Moodle, and others
ā€¢ Community documentation and
  implementation support
ā€¢ An extensive community of adopters


                       2007 JavaOneSM Conference | Session TS-4604 |   24
JA-SIG CAS
Continuedā€¦
ā€¢ The players involved
   ā€¢   CAS (The Central Authentication Service)
   ā€¢   Service
   ā€¢   Proxy
   ā€¢   Target (or back-end service)
ā€¢ CAS authentication make use of tickets, or opaque strings
  that prove some assertion to CAS
ā€¢ CAS 2.0 uses the following tickets:
   ā€¢   Ticket-granting cookie (TGC)
   ā€¢   Service ticket (ST)
   ā€¢   Proxy-granting ticket (PGT)
   ā€¢   Proxy-granting ticket IOU (PGTIOU)
   ā€¢   Proxy ticket (PT)
                              2007 JavaOneSM Conference | Session TS-4604 |   25
JA-SIG CAS
CAS Architecture




                   2007 JavaOneSM Conference | Session TS-4604 |   26
JA-SIG CAS
CAS Configuration
ā€¢ Server Deployment
ā€¢ Client Configuration




                    2007 JavaOneSM Conference | Session TS-4604 |   27
JA-SIG CAS
CAS Configurationā€”Server Deployment
ā€¢ Based on authentication scheme used
   ā€¢ Password based
   ā€¢ Certificate based
ā€¢ Need to implement Authentication
  Handler interface




                         2007 JavaOneSM Conference | Session TS-4604 |   28
JA-SIG CAS
CAS Configurationā€”Server Deployment
ā€¢ Example: password based
public class UsernameLengthAuthnHandler implements AuthenticationHandler {

    public boolean authenticate(Credentials credentials) throws
            AuthenticationException {
        UsernamePasswordCredentials upCredentials =
            (UsernamePasswordCredentials) credentials;
        String username = upCredentials.getUsername();
        String password = upCredentials.getPassword();
        String correctPassword = Integer.toString(username.length());
        return correctPassword.equals(password);
    }

    public boolean supports(Credentials credentials) {
        // we support credentials that bear usernames and passwords
        return credentials instanceof UsernamePasswordCredentials;
    }
}

                             2007 JavaOneSM Conference | Session TS-4604 |   29
JA-SIG CAS
CAS Configurationā€”Server Deployment
ā€¢ Customizing views
   ā€¢ The existing views can be changed (i.e., JSP pages
     to match the look and feel of the applications)
ā€¢ Using LDAP for authentication
   ā€¢ Install the CAS LDAP authentication handler .jar file -
     cas-server-ldap-{SOMETHING}.jar
   ā€¢ Include an LDAP library (ā€œLdapTemplateā€ or ā€œSpring
     LDAPā€) into CAS server




                       2007 JavaOneSM Conference | Session TS-4604 |   30
JA-SIG CAS
CAS Configurationā€”Server Deployment
ā€¢ Using X.509Certificates
   ā€¢ CAS provides customizations to the CAS webflow
     to retrieve certificates from the HttpServletRequest,
     package the certificates into Credentials CAS
     can understand and pass them into the
     CentralAuthenticationService service
   ā€¢ Provides an authentication handler to determine
     the validity of a certificate and if the credentials
     are authentic or not
   ā€¢ Provides sample resolvers to translate the credentials
     into a principal that client applications will understand


                        2007 JavaOneSM Conference | Session TS-4604 |   31
JA-SIG CAS
CAS Configurationā€”Client
ā€¢ Various clients
   ā€¢   Java technology client
   ā€¢   JSP software client
   ā€¢   Uportal client
   ā€¢   Acegi as CAS client
   ā€¢   Perl, ASP.NET client, etc.




                         2007 JavaOneSM Conference | Session TS-4604 |   32
JA-SIG CAS
CAS Configurationā€”Client
ā€¢ Java technology Client Configuration
ā€¢ CASFilter configurationā€”Example
  <web-app>
  ...
      <filter>
          <filter-name>CAS Filter</filter-name>
          <filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
          <init-param>
               <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
               <param-value>https://secure.its.yale.edu/cas/login</param-value>
          </init-param>
          <init-param>
               <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
               <param-value>https://secure.its.yale.edu/cas/serviceValidate</param-value>
          </init-param>
          <init-param>
               <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
               <param-value>your server name and port (e.g., www.yale.edu:8080)</param-
  value>
          </init-param>
      </filter>
      <filter-mapping>
          <filter-name>CAS Filter</filter-name>
          <url-pattern>/requires-cas-authetication/*</url-pattern>
      </filter-mapping>
      ...
  </web-app>



                                 2007 JavaOneSM Conference | Session TS-4604 |   33
Agenda
What Is SSO?
Survey of the Main Open Source Players
Head-to-Head Comparisons
Summary
Q&A




                  2007 JavaOneSM Conference | Session TS-4604 |   34
Head-to-Head Comparison
Retrofitting an existing application
ā€¢ JOSSO
   ā€¢ No support for certain application servers
   ā€¢ Does provide a plugin infrastructure to facilitate
     integration with other containers; you can base your
     own plugin on existing samples
ā€¢ OpenSSO
   ā€¢ Can fit into a multitude of application servers because
     of the availability of agents
   ā€¢ These agents include Apache, Sun Java System Web
     Server, Microsoft IIS, Domino


                         2007 JavaOneSM Conference | Session TS-4604 |   35
Head-to-Head Comparison
Integration of non-Java applications
ā€¢ JOSSO
   ā€¢ Uses web services for asserting user identity via SOAP
   ā€¢ Allows the integration of non-Java applications (e.g.,
     PHP, .NET, etc.)
ā€¢ CAS
   ā€¢ There are many client libraries to assist in
     ā€œCASifyingā€ applications
   ā€¢ Examples include AuthCAS for Apache, a uPortal
     client, a Java technology Client, a PHP client, and a
     Perl client


                       2007 JavaOneSM Conference | Session TS-4604 |   36
Head-to-Head Comparison
Customizability
ā€¢ JOSSO
   ā€¢ If your application server is not supported, need to customize by writing
     plugins

ā€¢ CAS
   ā€¢   Basic implementation includes only HTTPS
   ā€¢   Can be easily customized to be HTTP enabled
   ā€¢   Look and feel of login pages can be changed
   ā€¢   Comes with pluggable authenticators to validate against LDAP, etc.

ā€¢ OpenSSO
   ā€¢ Customizations can be done by writing Authentication modules
   ā€¢ Authentication User Interface JSP pages can be customized by Realm,
     Locale, Client type, or any Service of the SSO system

                              2007 JavaOneSM Conference | Session TS-4604 |   37
Head-to-Head Comparison
Ease of deployment
ā€¢ CAS
   ā€¢ Involves deploying CAS Server (downloadable as a
     pre-built WAR file or can be customized) and a CAS
     client with each application
ā€¢ JOSSO
   ā€¢ Involves Configuration of:
      ā€¢   Single Sign-On Gateway
      ā€¢   The Authenticator
      ā€¢   The Identity Manager
      ā€¢   The Session Manager
ā€¢ OpenSSO
   ā€¢ Deployable as a WAR file
                         2007 JavaOneSM Conference | Session TS-4604 |   38
Head-to-Head Comparison
Authentication for non-browser-based clients
ā€¢ CAS
   ā€¢ Has Proxy Authentication support
ā€¢ OpenSSO
   ā€¢ Does not have out-of-the-box support for CAS-like
     proxy authentication; however, there are authentication
     APIs available to build one
ā€¢ JOSSO
   ā€¢ Comes with a Reverse Proxy component that can be
     used to create n-tier Single Sign-On configurations



                       2007 JavaOneSM Conference | Session TS-4604 |   39
Head-to-Head Comparison
Support for web service security
ā€¢ JOSSO
   ā€¢ Can be used to secure web services but is limited due
     to the level of application server support
ā€¢ CAS
   ā€¢ Supports web service security by protecting URLs
ā€¢ OpenSSO
   ā€¢ Secure web services using SAML




                       2007 JavaOneSM Conference | Session TS-4604 |   40
Head-to-Head Comparison
Community support
ā€¢ As all three are Open Source solutions, the
  support is in the form of project websites,
  community generated documentation, user
  forums and mailing lists
ā€¢ CAS, OpenSSO, and JOSSO all have well-
  managed user groups




                    2007 JavaOneSM Conference | Session TS-4604 |   41
Agenda
What Is SSO?
Survey of the Main Open Source Players
Head-to-Head Comparisons
Summary
Q&A




                  2007 JavaOneSM Conference | Session TS-4604 |   42
How to Choose
Which horse for which courseā€¦
ā€¢ There are multiple factors to consider when deciding on the SSO
  solution you need
ā€¢ All three are Open Source solutions, so licensing issues are removed
ā€¢ OpenSSO is a good choice if:
   ā€¢   Using XML-based file formats and language independent APIs is important
   ā€¢   Clustered environment support is required
   ā€¢   SSL mutual authentication is required
   ā€¢   You want to leverage all of the features of the Sun Java System Access Manager
ā€¢ CAS is a good choice if:
   ā€¢   Your using a Spring-based infrastructure with acegi
   ā€¢   Your using simple DB-based credential management
ā€¢ JOSSO is a good choice if:
   ā€¢   It supports your particular application server; otherwise, additional development
       effort will be required
                                  2007 JavaOneSM Conference | Session TS-4604 |   43
Alternative Open Source Solutions
Some other horses to consider
ā€¢ Atlassian Seraph
   http://opensource.atlassian.com/seraph
ā€¢ Shibboleth
   http://shibboleth.internet2.edu
ā€¢ CoSign
   http://www.umich.edu/~umweb/software/cosign
ā€¢ Enterprise Sign On Engine
   http://esoeproject.org



                       2007 JavaOneSM Conference | Session TS-4604 |   44
For More Information
ā€¢ OpenSSO Home Page
   https://opensso.dev.java.net/
ā€¢ JOSSO Home Page
   http://www.josso.org/
ā€¢ CAS Home Page
   http://www.ja-sig.org/products/cas/
ā€¢ Wikipedia
   http://en.wikipedia.org/wiki/Single_sign-on
ā€¢ SAML
   http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=security
ā€¢ Acegi
   http://www.acegisecurity.org/
                              2007 JavaOneSM Conference | Session TS-4604 |   45
Agenda
What Is SSO?
Survey of the Main Open Source Players
Head-to-Head Comparisons
Summary
Q&A




                  2007 JavaOneSM Conference | Session TS-4604 |   46
Q&A
Craig Dicksonā€”cdickson@behr.com
Naveen Nallannagariā€”nnallannagari@behr.com




                       2007 JavaOneSM Conference | Session TS-4604 |   47
Fast and Free SSO: A Survey
of Open-Source Solutions to
Single Sign-On
Craig Dickson, Software Engineering Manager
Naveen Nallannagari, Senior Consultant
Behr Process Corporation
www.behr.com
TS-4604

                     2007 JavaOneSM Conference | Session TS-4604 |

More Related Content

What's hot

Enterprise Single Sign-On - SSO
Enterprise Single Sign-On - SSOEnterprise Single Sign-On - SSO
Enterprise Single Sign-On - SSOOliver Mueller
Ā 
Single Sign On - The Basics
Single Sign On - The BasicsSingle Sign On - The Basics
Single Sign On - The BasicsIshan A B Ambanwela
Ā 
SSO IN/With Drupal and Identitiy Management
SSO IN/With Drupal and Identitiy ManagementSSO IN/With Drupal and Identitiy Management
SSO IN/With Drupal and Identitiy ManagementManish Harsh
Ā 
Web Single sign on system
Web Single sign on systemWeb Single sign on system
Web Single sign on systemSwati Sinha
Ā 
Single Sign On 101
Single Sign On 101Single Sign On 101
Single Sign On 101Mike Schwartz
Ā 
Single sign on (SSO) How does your company apply?
Single sign on (SSO) How does your company apply?Single sign on (SSO) How does your company apply?
Single sign on (SSO) How does your company apply?Đį»— Duy Trung
Ā 
SAP Single Sign-On 2.0 Overview
SAP Single Sign-On 2.0 OverviewSAP Single Sign-On 2.0 Overview
SAP Single Sign-On 2.0 OverviewSAP Technology
Ā 
SSO introduction
SSO introductionSSO introduction
SSO introductionAidy Tificate
Ā 
Single sign on - benefits, challenges and case study : iFour consultancy
Single sign on - benefits, challenges and case study :  iFour consultancySingle sign on - benefits, challenges and case study :  iFour consultancy
Single sign on - benefits, challenges and case study : iFour consultancyDevam Shah
Ā 
Single sign on
Single sign onSingle sign on
Single sign onguest64ab8e
Ā 
SSO Strategy Implementation Considerations
SSO Strategy Implementation ConsiderationsSSO Strategy Implementation Considerations
SSO Strategy Implementation ConsiderationsJohn Bauer
Ā 
Presentation sso design_security
Presentation sso design_securityPresentation sso design_security
Presentation sso design_securityMarco Morana
Ā 
Java EE Application Security With PicketLink
Java EE Application Security With PicketLinkJava EE Application Security With PicketLink
Java EE Application Security With PicketLinkpigorcraveiro
Ā 
Alfresco: Implementing secure single sign on (SSO) with OpenSAML
Alfresco: Implementing secure single sign on (SSO) with OpenSAMLAlfresco: Implementing secure single sign on (SSO) with OpenSAML
Alfresco: Implementing secure single sign on (SSO) with OpenSAMLJ V
Ā 
Peeples authentication authorization_services_with_saml_xacml_with_jboss_eap6
Peeples authentication authorization_services_with_saml_xacml_with_jboss_eap6Peeples authentication authorization_services_with_saml_xacml_with_jboss_eap6
Peeples authentication authorization_services_with_saml_xacml_with_jboss_eap6Kenneth Peeples
Ā 
IdP, SAML, OAuth
IdP, SAML, OAuthIdP, SAML, OAuth
IdP, SAML, OAuthDan Brinkmann
Ā 
Single Sign On - Case Study
Single Sign On - Case StudySingle Sign On - Case Study
Single Sign On - Case StudyEbizon
Ā 
Saml vs Oauth : Which one should I use?
Saml vs Oauth : Which one should I use?Saml vs Oauth : Which one should I use?
Saml vs Oauth : Which one should I use?Anil Saldanha
Ā 
ASP.NET Web Security
ASP.NET Web SecurityASP.NET Web Security
ASP.NET Web SecuritySharePointRadi
Ā 
Single sign on using WSO2 identity server
Single sign on using WSO2 identity serverSingle sign on using WSO2 identity server
Single sign on using WSO2 identity serverWSO2
Ā 

What's hot (20)

Enterprise Single Sign-On - SSO
Enterprise Single Sign-On - SSOEnterprise Single Sign-On - SSO
Enterprise Single Sign-On - SSO
Ā 
Single Sign On - The Basics
Single Sign On - The BasicsSingle Sign On - The Basics
Single Sign On - The Basics
Ā 
SSO IN/With Drupal and Identitiy Management
SSO IN/With Drupal and Identitiy ManagementSSO IN/With Drupal and Identitiy Management
SSO IN/With Drupal and Identitiy Management
Ā 
Web Single sign on system
Web Single sign on systemWeb Single sign on system
Web Single sign on system
Ā 
Single Sign On 101
Single Sign On 101Single Sign On 101
Single Sign On 101
Ā 
Single sign on (SSO) How does your company apply?
Single sign on (SSO) How does your company apply?Single sign on (SSO) How does your company apply?
Single sign on (SSO) How does your company apply?
Ā 
SAP Single Sign-On 2.0 Overview
SAP Single Sign-On 2.0 OverviewSAP Single Sign-On 2.0 Overview
SAP Single Sign-On 2.0 Overview
Ā 
SSO introduction
SSO introductionSSO introduction
SSO introduction
Ā 
Single sign on - benefits, challenges and case study : iFour consultancy
Single sign on - benefits, challenges and case study :  iFour consultancySingle sign on - benefits, challenges and case study :  iFour consultancy
Single sign on - benefits, challenges and case study : iFour consultancy
Ā 
Single sign on
Single sign onSingle sign on
Single sign on
Ā 
SSO Strategy Implementation Considerations
SSO Strategy Implementation ConsiderationsSSO Strategy Implementation Considerations
SSO Strategy Implementation Considerations
Ā 
Presentation sso design_security
Presentation sso design_securityPresentation sso design_security
Presentation sso design_security
Ā 
Java EE Application Security With PicketLink
Java EE Application Security With PicketLinkJava EE Application Security With PicketLink
Java EE Application Security With PicketLink
Ā 
Alfresco: Implementing secure single sign on (SSO) with OpenSAML
Alfresco: Implementing secure single sign on (SSO) with OpenSAMLAlfresco: Implementing secure single sign on (SSO) with OpenSAML
Alfresco: Implementing secure single sign on (SSO) with OpenSAML
Ā 
Peeples authentication authorization_services_with_saml_xacml_with_jboss_eap6
Peeples authentication authorization_services_with_saml_xacml_with_jboss_eap6Peeples authentication authorization_services_with_saml_xacml_with_jboss_eap6
Peeples authentication authorization_services_with_saml_xacml_with_jboss_eap6
Ā 
IdP, SAML, OAuth
IdP, SAML, OAuthIdP, SAML, OAuth
IdP, SAML, OAuth
Ā 
Single Sign On - Case Study
Single Sign On - Case StudySingle Sign On - Case Study
Single Sign On - Case Study
Ā 
Saml vs Oauth : Which one should I use?
Saml vs Oauth : Which one should I use?Saml vs Oauth : Which one should I use?
Saml vs Oauth : Which one should I use?
Ā 
ASP.NET Web Security
ASP.NET Web SecurityASP.NET Web Security
ASP.NET Web Security
Ā 
Single sign on using WSO2 identity server
Single sign on using WSO2 identity serverSingle sign on using WSO2 identity server
Single sign on using WSO2 identity server
Ā 

Similar to Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-On

ADDRESSING TOMORROW'S SECURITY REQUIREMENTS IN ENTERPRISE APPLICATIONS
ADDRESSING TOMORROW'S SECURITY REQUIREMENTS IN ENTERPRISE APPLICATIONSADDRESSING TOMORROW'S SECURITY REQUIREMENTS IN ENTERPRISE APPLICATIONS
ADDRESSING TOMORROW'S SECURITY REQUIREMENTS IN ENTERPRISE APPLICATIONSelliando dias
Ā 
Breaking SAP portal (HackerHalted)
Breaking SAP portal (HackerHalted)Breaking SAP portal (HackerHalted)
Breaking SAP portal (HackerHalted)ERPScan
Ā 
Lifecycle Management of SOA Artifacts for WSO2 Products
Lifecycle Management of SOA Artifacts for WSO2 ProductsLifecycle Management of SOA Artifacts for WSO2 Products
Lifecycle Management of SOA Artifacts for WSO2 ProductsWSO2
Ā 
ASPNET Roadmap
ASPNET RoadmapASPNET Roadmap
ASPNET Roadmapukdpe
Ā 
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.Dimitris Andreadis
Ā 
JBoss AS7 Webservices
JBoss AS7 WebservicesJBoss AS7 Webservices
JBoss AS7 WebservicesJBug Italy
Ā 
JBoss AS7 web services
JBoss AS7 web servicesJBoss AS7 web services
JBoss AS7 web servicesalepalin
Ā 
Java ee 8 + security overview
Java ee 8 + security overviewJava ee 8 + security overview
Java ee 8 + security overviewRudy De Busscher
Ā 
Whatā€™s new in Java SE, EE, ME, Embedded world & new Strategy
Whatā€™s new in Java SE, EE, ME, Embedded world & new StrategyWhatā€™s new in Java SE, EE, ME, Embedded world & new Strategy
Whatā€™s new in Java SE, EE, ME, Embedded world & new StrategyMohamed Taman
Ā 
WebLogic authentication debugging
WebLogic authentication debuggingWebLogic authentication debugging
WebLogic authentication debuggingMaarten Smeets
Ā 
Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1WSO2
Ā 
Windows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server ManagementWindows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server ManagementSharkrit JOBBO
Ā 
WildFly AppServer - State of the Union
WildFly AppServer - State of the UnionWildFly AppServer - State of the Union
WildFly AppServer - State of the UnionDimitris Andreadis
Ā 
VAST 7.5 and Beyond
VAST 7.5 and BeyondVAST 7.5 and Beyond
VAST 7.5 and BeyondESUG
Ā 
CTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowCTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowSpiffy
Ā 
As7 web services - JUG Milan April 2012
As7 web services - JUG Milan April 2012As7 web services - JUG Milan April 2012
As7 web services - JUG Milan April 2012alepalin
Ā 
Open Source Identity Integration with OpenSSO
Open Source Identity Integration with OpenSSOOpen Source Identity Integration with OpenSSO
Open Source Identity Integration with OpenSSOelliando dias
Ā 
WEBLOGIC ADMINISTRATION 11g NEW BATCH STARTS FROM 16 DEC
WEBLOGIC ADMINISTRATION 11g NEW BATCH STARTS FROM 16 DECWEBLOGIC ADMINISTRATION 11g NEW BATCH STARTS FROM 16 DEC
WEBLOGIC ADMINISTRATION 11g NEW BATCH STARTS FROM 16 DECncodeit123
Ā 
Open sso enterprise customer pitch
Open sso enterprise customer pitchOpen sso enterprise customer pitch
Open sso enterprise customer pitchxKinAnx
Ā 

Similar to Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-On (20)

ADDRESSING TOMORROW'S SECURITY REQUIREMENTS IN ENTERPRISE APPLICATIONS
ADDRESSING TOMORROW'S SECURITY REQUIREMENTS IN ENTERPRISE APPLICATIONSADDRESSING TOMORROW'S SECURITY REQUIREMENTS IN ENTERPRISE APPLICATIONS
ADDRESSING TOMORROW'S SECURITY REQUIREMENTS IN ENTERPRISE APPLICATIONS
Ā 
Breaking SAP portal (HackerHalted)
Breaking SAP portal (HackerHalted)Breaking SAP portal (HackerHalted)
Breaking SAP portal (HackerHalted)
Ā 
Lifecycle Management of SOA Artifacts for WSO2 Products
Lifecycle Management of SOA Artifacts for WSO2 ProductsLifecycle Management of SOA Artifacts for WSO2 Products
Lifecycle Management of SOA Artifacts for WSO2 Products
Ā 
ASPNET Roadmap
ASPNET RoadmapASPNET Roadmap
ASPNET Roadmap
Ā 
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
Ā 
JBoss AS7 Webservices
JBoss AS7 WebservicesJBoss AS7 Webservices
JBoss AS7 Webservices
Ā 
JBoss AS7 web services
JBoss AS7 web servicesJBoss AS7 web services
JBoss AS7 web services
Ā 
Java ee 8 + security overview
Java ee 8 + security overviewJava ee 8 + security overview
Java ee 8 + security overview
Ā 
Whatā€™s new in Java SE, EE, ME, Embedded world & new Strategy
Whatā€™s new in Java SE, EE, ME, Embedded world & new StrategyWhatā€™s new in Java SE, EE, ME, Embedded world & new Strategy
Whatā€™s new in Java SE, EE, ME, Embedded world & new Strategy
Ā 
WebLogic authentication debugging
WebLogic authentication debuggingWebLogic authentication debugging
WebLogic authentication debugging
Ā 
Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1
Ā 
Windows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server ManagementWindows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server Management
Ā 
WildFly AppServer - State of the Union
WildFly AppServer - State of the UnionWildFly AppServer - State of the Union
WildFly AppServer - State of the Union
Ā 
VAST 7.5 and Beyond
VAST 7.5 and BeyondVAST 7.5 and Beyond
VAST 7.5 and Beyond
Ā 
CTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowCTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should Know
Ā 
Jboss Tutorial Basics
Jboss Tutorial BasicsJboss Tutorial Basics
Jboss Tutorial Basics
Ā 
As7 web services - JUG Milan April 2012
As7 web services - JUG Milan April 2012As7 web services - JUG Milan April 2012
As7 web services - JUG Milan April 2012
Ā 
Open Source Identity Integration with OpenSSO
Open Source Identity Integration with OpenSSOOpen Source Identity Integration with OpenSSO
Open Source Identity Integration with OpenSSO
Ā 
WEBLOGIC ADMINISTRATION 11g NEW BATCH STARTS FROM 16 DEC
WEBLOGIC ADMINISTRATION 11g NEW BATCH STARTS FROM 16 DECWEBLOGIC ADMINISTRATION 11g NEW BATCH STARTS FROM 16 DEC
WEBLOGIC ADMINISTRATION 11g NEW BATCH STARTS FROM 16 DEC
Ā 
Open sso enterprise customer pitch
Open sso enterprise customer pitchOpen sso enterprise customer pitch
Open sso enterprise customer pitch
Ā 

More from elliando dias

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slideselliando dias
Ā 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScriptelliando dias
Ā 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structureselliando dias
Ā 
Nomenclatura e peƧas de container
Nomenclatura  e peƧas de containerNomenclatura  e peƧas de container
Nomenclatura e peƧas de containerelliando dias
Ā 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetivaelliando dias
Ā 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
Ā 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando dias
Ā 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!elliando dias
Ā 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Webelliando dias
Ā 
IntroduĆ§Ć£o ao Arduino
IntroduĆ§Ć£o ao ArduinoIntroduĆ§Ć£o ao Arduino
IntroduĆ§Ć£o ao Arduinoelliando dias
Ā 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduinoelliando dias
Ā 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorceryelliando dias
Ā 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Designelliando dias
Ā 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makeselliando dias
Ā 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojureelliando dias
Ā 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.elliando dias
Ā 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebookelliando dias
Ā 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Studyelliando dias
Ā 

More from elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
Ā 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
Ā 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
Ā 
Nomenclatura e peƧas de container
Nomenclatura  e peƧas de containerNomenclatura  e peƧas de container
Nomenclatura e peƧas de container
Ā 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
Ā 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
Ā 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
Ā 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
Ā 
Ragel talk
Ragel talkRagel talk
Ragel talk
Ā 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
Ā 
IntroduĆ§Ć£o ao Arduino
IntroduĆ§Ć£o ao ArduinoIntroduĆ§Ć£o ao Arduino
IntroduĆ§Ć£o ao Arduino
Ā 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
Ā 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
Ā 
Rango
RangoRango
Rango
Ā 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
Ā 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
Ā 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
Ā 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
Ā 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
Ā 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
Ā 

Recently uploaded

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance
Ā 
UiPath New York Community Day in-person event
UiPath New York Community Day in-person eventUiPath New York Community Day in-person event
UiPath New York Community Day in-person eventDianaGray10
Ā 
ŠŠŠ”Š†ŠÆ Š¤Š•Š”Š®ŠØŠšŠž Š‘ŠŠ¦ Ā«ŠŸŃ€Š¾Ń„ŠµŃŃ–ŠøĢ†Š½Šµ Š·Ń€Š¾ŃŃ‚Š°Š½Š½Ń QA сŠæŠµŃ†Ń–Š°Š»Ń–стŠ°Ā»
ŠŠŠ”Š†ŠÆ Š¤Š•Š”Š®ŠØŠšŠž Š‘ŠŠ¦  Ā«ŠŸŃ€Š¾Ń„ŠµŃŃ–ŠøĢ†Š½Šµ Š·Ń€Š¾ŃŃ‚Š°Š½Š½Ń QA сŠæŠµŃ†Ń–Š°Š»Ń–стŠ°Ā»ŠŠŠ”Š†ŠÆ Š¤Š•Š”Š®ŠØŠšŠž Š‘ŠŠ¦  Ā«ŠŸŃ€Š¾Ń„ŠµŃŃ–ŠøĢ†Š½Šµ Š·Ń€Š¾ŃŃ‚Š°Š½Š½Ń QA сŠæŠµŃ†Ń–Š°Š»Ń–стŠ°Ā»
ŠŠŠ”Š†ŠÆ Š¤Š•Š”Š®ŠØŠšŠž Š‘ŠŠ¦ Ā«ŠŸŃ€Š¾Ń„ŠµŃŃ–ŠøĢ†Š½Šµ Š·Ń€Š¾ŃŃ‚Š°Š½Š½Ń QA сŠæŠµŃ†Ń–Š°Š»Ń–стŠ°Ā»QADay
Ā 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Product School
Ā 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Ā 
Ransomware Mallox [EN].pdf
Ransomware         Mallox       [EN].pdfRansomware         Mallox       [EN].pdf
Ransomware Mallox [EN].pdfOverkill Security
Ā 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...Product School
Ā 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Ā 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Ā 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
Ā 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsVlad Stirbu
Ā 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Ā 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
Ā 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...Product School
Ā 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...Sri Ambati
Ā 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform EngineeringJemma Hussein Allen
Ā 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...Product School
Ā 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilotā„¢
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilotā„¢Le nuove frontiere dell'AI nell'RPA con UiPath Autopilotā„¢
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilotā„¢UiPathCommunity
Ā 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...Elena Simperl
Ā 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
Ā 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
Ā 
UiPath New York Community Day in-person event
UiPath New York Community Day in-person eventUiPath New York Community Day in-person event
UiPath New York Community Day in-person event
Ā 
ŠŠŠ”Š†ŠÆ Š¤Š•Š”Š®ŠØŠšŠž Š‘ŠŠ¦ Ā«ŠŸŃ€Š¾Ń„ŠµŃŃ–ŠøĢ†Š½Šµ Š·Ń€Š¾ŃŃ‚Š°Š½Š½Ń QA сŠæŠµŃ†Ń–Š°Š»Ń–стŠ°Ā»
ŠŠŠ”Š†ŠÆ Š¤Š•Š”Š®ŠØŠšŠž Š‘ŠŠ¦  Ā«ŠŸŃ€Š¾Ń„ŠµŃŃ–ŠøĢ†Š½Šµ Š·Ń€Š¾ŃŃ‚Š°Š½Š½Ń QA сŠæŠµŃ†Ń–Š°Š»Ń–стŠ°Ā»ŠŠŠ”Š†ŠÆ Š¤Š•Š”Š®ŠØŠšŠž Š‘ŠŠ¦  Ā«ŠŸŃ€Š¾Ń„ŠµŃŃ–ŠøĢ†Š½Šµ Š·Ń€Š¾ŃŃ‚Š°Š½Š½Ń QA сŠæŠµŃ†Ń–Š°Š»Ń–стŠ°Ā»
ŠŠŠ”Š†ŠÆ Š¤Š•Š”Š®ŠØŠšŠž Š‘ŠŠ¦ Ā«ŠŸŃ€Š¾Ń„ŠµŃŃ–ŠøĢ†Š½Šµ Š·Ń€Š¾ŃŃ‚Š°Š½Š½Ń QA сŠæŠµŃ†Ń–Š°Š»Ń–стŠ°Ā»
Ā 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Ā 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Ā 
Ransomware Mallox [EN].pdf
Ransomware         Mallox       [EN].pdfRansomware         Mallox       [EN].pdf
Ransomware Mallox [EN].pdf
Ā 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Ā 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Ā 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Ā 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Ā 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Ā 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
Ā 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Ā 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Ā 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Ā 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Ā 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Ā 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilotā„¢
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilotā„¢Le nuove frontiere dell'AI nell'RPA con UiPath Autopilotā„¢
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilotā„¢
Ā 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Ā 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Ā 

Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-On

  • 1. Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-On Craig Dickson, Software Engineering Manager Naveen Nallannagari, Senior Consultant Behr Process Corporation www.behr.com TS-4604 2007 JavaOneSM Conference | Session TS-4604 |
  • 2. Goals of This Presentation A survey of Open-Source Solutions to Single Sign-On Present a sample of the different open source-based SSO solutions, critically compare and contrast them and provide tips on how to choose the right one to fit your needs. 2007 JavaOneSM Conference | Session TS-4604 | 2
  • 3. Agenda What Is SSO? (Briefly) Survey of the Main Open Source Players Head-to-Head Comparisons Summary Q&A 2007 JavaOneSM Conference | Session TS-4604 | 3
  • 4. Agenda What Is SSO? (Briefly) Survey of the Main Open Source Players Head-to-Head Comparisons Summary Q&A 2007 JavaOneSM Conference | Session TS-4604 | 4
  • 5. What Is SSO? It is definitely notā€¦ ā€œEvery Single time you want to do something, you are going to have to Sign-On!ā€ ā€”Your Sys Admin 2007 JavaOneSM Conference | Session TS-4604 | 5
  • 6. What Is SSO? This is more like itā€¦ ā€¢ Authenticate only once and access multiple resources ā€¢ Improved user productivity ā€¢ Improved developer productivity ā€¢ Ease of administration 2007 JavaOneSM Conference | Session TS-4604 | 6
  • 7. What Is SSO? But what about the downsidesā€¦ ā€¢ Potentially creates a single point of attack ā€¢ Malicious types only need 1 set of credentials and they can do a lot of damage ā€¢ Can be very difficult to retrofit existing applications and infrastructure with an SSO solution 2007 JavaOneSM Conference | Session TS-4604 | 7
  • 8. Agenda What Is SSO? (Briefly) Survey of the Main Open Source Players Head-to-Head Comparisons Summary Q&A 2007 JavaOneSM Conference | Session TS-4604 | 8
  • 9. OpenSSO Open Web SSO ā€¢ Mission of OpenSSO To provide an extensible implementation of identity services infrastructure that will facilitate Single Sign-On for web applications ā€¢ From the java.net community ā€¢ Focused on web-based single sign-on ā€¢ A common starting point for many identity management projects 2007 JavaOneSM Conference | Session TS-4604 | 9
  • 10. OpenSSO Continuedā€¦ ā€¢ Sun will make the following Sun Javaā„¢ System Access Manager modules freely available as part of OpenSSO ā€¢ Authentication ā€¢ Single-domain SSO ā€¢ Web and Java 2 Platform, Enterprise Edition (J2EEā„¢ platform) agents ā€¢ Session management ā€¢ Policy ā€¢ Console ā€¢ Administration tools ā€¢ Federation ā€¢ Policy agents 2007 JavaOneSM Conference | Session TS-4604 | 10
  • 11. OpenSSO OpenSSO Architecture 2007 JavaOneSM Conference | Session TS-4604 | 11
  • 12. OpenSSO OpenSSO Configuration ā€¢ Open SSO is deployed as only one application opensso.war ā€¢ After installation, configuration (name of host, protocol, etc.) can be done at: http://localhost:8080/opensso/configurator.jsp ā€¢ Realms have to be created 2007 JavaOneSM Conference | Session TS-4604 | 12
  • 13. OpenSSO OpenSSO Configuration ā€¢ Installation of Agent (e.g., Tomcat) ā€¢ agentadmin - install ā€¢ Modify web.xml <security-constraint> <web-resource-collection> <web-resource-name>Protected Resources</web-resource-name> <url-pattern>/secure/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>id=teste, ou=role, dc=opensso, dc=java, dc=net</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>FORM</auth-method> <form-login-config> <form-login-page>/authentication/login.html</form-login-page> <form-error-page>/authentication/accessdenied.html</form-error-page> </form-login-config> </login-config> <security-roll id="test"> <role-name>id=test, ou=role, dc=opensso, dc=java, dc=net</role-name> </security-role> 2007 JavaOneSM Conference | Session TS-4604 | 13
  • 14. JOSSO Java Open Single Sign-On ā€¢ Based on Java Authentication and Authorization Service (JAAS) ā€¢ Uses web services implemented with Apache Axis as the distributed infrastructure ā€¢ Uses Apache Struts and JavaServer Pagesā„¢ technology (JSPā„¢ page) technology standards ā€¢ Comes with a Reverse Proxy component that can be used to create n-tier Single Sign-On configurations ā€¢ Allows n-tier configurations using multiple strategies, including storing user information and credentials in LDAP, Databases, and XML files 2007 JavaOneSM Conference | Session TS-4604 | 14
  • 15. JOSSO Continuedā€¦ ā€¢ Implement and combine multiple authentication schemes with credential stores ā€¢ Credential Stores are repositories for user credentials, to be used during the user authentication transaction ā€¢ Can be configured to use (for example) certificate- based authentication scheme, obtaining user X.509 certificates from a database using Java DataBase Connectivity (JDBCā„¢) software 2007 JavaOneSM Conference | Session TS-4604 | 15
  • 16. JOSSO JOSSO Architecture 2007 JavaOneSM Conference | Session TS-4604 | 16
  • 17. JOSSO JOSSO Configuration ā€¢ Integration of JOSSO with specific application Server (Tomcat or JBoss) ā€¢ Integrating Java Web Application with JOSSO 2007 JavaOneSM Conference | Session TS-4604 | 17
  • 18. JOSSO JOSSO Configurationā€”Integration with Tomcat or JBoss ā€¢ The Single Sign-On Gateway Configuration ā€¢ Configuration file: josso-gateway-config.xml ā€¢ Authenticator ā€¢ Identity Manager ā€¢ Session Manager ā€¢ Audit Manager ā€¢ Event Manager ā€¢ Single Sign-On Agent Configuration ā€¢ To check that a previously user logged in is authorized to access a web context ā€¢ Configuration file to declare the concrete configuration files: $CATALINA_HOME/bin/josso-config.xml 2007 JavaOneSM Conference | Session TS-4604 | 18
  • 19. JOSSO JOSSO Configurationā€”Integration with Tomcat or JBoss ā€¢ Protect a Web Application ā€¢ Add to server.xml file <Host> ... <Valve className="org.josso.tc50.agent.SSOAgentValve" debug="1"/> ... </Host> ā€¢ For each request to the /partner Web Context, the Single Sign-On Agent will intercept it, assert the Single Sign-On session, and obtain the user data from the Single Sign-On Gateway 2007 JavaOneSM Conference | Session TS-4604 | 19
  • 20. JOSSO JOSSO Configurationā€”Integration with Tomcat or JBoss ā€¢ Add a JAAS Realm ā€¢ In order to integrate the Single Sign-On Agent with the Single Sign-On Gateway a JAAS Tomcat Realm entry must be added to the server.xml ā€¢ Configure a JAAS Login Module ā€¢ jaas.conf file in the $CATALINA_HOME/conf directory with the following content: josso { org.josso.tc50.agent.jaas.SSOGatewayLoginModule required debug=true; }; ā€¢ The Login Module validates the session and obtains the corresponding user and role information by invoking the gateway identity management web services 2007 JavaOneSM Conference | Session TS-4604 | 20
  • 21. JOSSO JOSSO Configurationā€”Integration with Tomcat or JBoss ā€¢ Configure the Agent <?xml version="1.0" encoding="ISO-8859-1" ?> <agent> <class>org.josso.tc50.agent.CatalinaSSOAgent</class> <gatewayLoginUrl>http://localhost:8080/josso/signon/login.do</gatewayLog inUrl> <gatewayLogoutUrl>http://localhost:8080/josso/signon/logout.do</gatewayL ogoutUrl> <sessionAccessMinInterval>1000</sessionAccessMinInterval> <service-locator> <class>org.josso.gateway.WebserviceGatewayServiceLocator</class > <endpoint>localhost:8080</endpoint> </service-locator> <partner-apps> <partner-app> <context>/partner</context> </partner-app> </partner-apps> </agent> 2007 JavaOneSM Conference | Session TS-4604 | 21
  • 22. JOSSO JOSSO Configurationā€”Integration Java application with JOSSO ā€¢ Web application Security Constraints ā€¢ Configured using three elements in web.xml ā€¢ <login-config> element ā€¢ <security-constraint> element ā€¢ <security-role> element 2007 JavaOneSM Conference | Session TS-4604 | 22
  • 23. JOSSO JOSSO Configurationā€”Integration Java application with JOSSO ā€¢ Integrating Enterprise JavaBeansā„¢ (EJBā„¢) with JOSSO ā€¢ The security constraints should be declared in the ejb-jar.xml file of the partner components based on the Enterprise JavaBeans specification (EJB components) ā€¢ For the user identity to be propagated to the EJB components tier, the jboss.xml file must set java:/jaas/josso as the security domain in the following way: <?xml version="1.0" encoding="UTF-8"?> <jboss> <security-domain>java:/jaas/josso</security-domain> <enterprise-beans> <session> <ejb-name>PartnerComponentEJB</ejb-name> <jndi-name>josso/samples/PartnerComponentEJB</jndi-name> </session> </enterprise-beans> </jboss> 2007 JavaOneSM Conference | Session TS-4604 | 23
  • 24. JA-SIG CAS Central Authentication Service ā€¢ An open and well-documented protocol ā€¢ A library of clients for Java technology, .NET, PHP, Perl, Apache, uPortal and others ā€¢ Integrates with uPortal, BlueSocket, TikiWiki, Mule, Liferay, Moodle, and others ā€¢ Community documentation and implementation support ā€¢ An extensive community of adopters 2007 JavaOneSM Conference | Session TS-4604 | 24
  • 25. JA-SIG CAS Continuedā€¦ ā€¢ The players involved ā€¢ CAS (The Central Authentication Service) ā€¢ Service ā€¢ Proxy ā€¢ Target (or back-end service) ā€¢ CAS authentication make use of tickets, or opaque strings that prove some assertion to CAS ā€¢ CAS 2.0 uses the following tickets: ā€¢ Ticket-granting cookie (TGC) ā€¢ Service ticket (ST) ā€¢ Proxy-granting ticket (PGT) ā€¢ Proxy-granting ticket IOU (PGTIOU) ā€¢ Proxy ticket (PT) 2007 JavaOneSM Conference | Session TS-4604 | 25
  • 26. JA-SIG CAS CAS Architecture 2007 JavaOneSM Conference | Session TS-4604 | 26
  • 27. JA-SIG CAS CAS Configuration ā€¢ Server Deployment ā€¢ Client Configuration 2007 JavaOneSM Conference | Session TS-4604 | 27
  • 28. JA-SIG CAS CAS Configurationā€”Server Deployment ā€¢ Based on authentication scheme used ā€¢ Password based ā€¢ Certificate based ā€¢ Need to implement Authentication Handler interface 2007 JavaOneSM Conference | Session TS-4604 | 28
  • 29. JA-SIG CAS CAS Configurationā€”Server Deployment ā€¢ Example: password based public class UsernameLengthAuthnHandler implements AuthenticationHandler { public boolean authenticate(Credentials credentials) throws AuthenticationException { UsernamePasswordCredentials upCredentials = (UsernamePasswordCredentials) credentials; String username = upCredentials.getUsername(); String password = upCredentials.getPassword(); String correctPassword = Integer.toString(username.length()); return correctPassword.equals(password); } public boolean supports(Credentials credentials) { // we support credentials that bear usernames and passwords return credentials instanceof UsernamePasswordCredentials; } } 2007 JavaOneSM Conference | Session TS-4604 | 29
  • 30. JA-SIG CAS CAS Configurationā€”Server Deployment ā€¢ Customizing views ā€¢ The existing views can be changed (i.e., JSP pages to match the look and feel of the applications) ā€¢ Using LDAP for authentication ā€¢ Install the CAS LDAP authentication handler .jar file - cas-server-ldap-{SOMETHING}.jar ā€¢ Include an LDAP library (ā€œLdapTemplateā€ or ā€œSpring LDAPā€) into CAS server 2007 JavaOneSM Conference | Session TS-4604 | 30
  • 31. JA-SIG CAS CAS Configurationā€”Server Deployment ā€¢ Using X.509Certificates ā€¢ CAS provides customizations to the CAS webflow to retrieve certificates from the HttpServletRequest, package the certificates into Credentials CAS can understand and pass them into the CentralAuthenticationService service ā€¢ Provides an authentication handler to determine the validity of a certificate and if the credentials are authentic or not ā€¢ Provides sample resolvers to translate the credentials into a principal that client applications will understand 2007 JavaOneSM Conference | Session TS-4604 | 31
  • 32. JA-SIG CAS CAS Configurationā€”Client ā€¢ Various clients ā€¢ Java technology client ā€¢ JSP software client ā€¢ Uportal client ā€¢ Acegi as CAS client ā€¢ Perl, ASP.NET client, etc. 2007 JavaOneSM Conference | Session TS-4604 | 32
  • 33. JA-SIG CAS CAS Configurationā€”Client ā€¢ Java technology Client Configuration ā€¢ CASFilter configurationā€”Example <web-app> ... <filter> <filter-name>CAS Filter</filter-name> <filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name> <param-value>https://secure.its.yale.edu/cas/login</param-value> </init-param> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name> <param-value>https://secure.its.yale.edu/cas/serviceValidate</param-value> </init-param> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name> <param-value>your server name and port (e.g., www.yale.edu:8080)</param- value> </init-param> </filter> <filter-mapping> <filter-name>CAS Filter</filter-name> <url-pattern>/requires-cas-authetication/*</url-pattern> </filter-mapping> ... </web-app> 2007 JavaOneSM Conference | Session TS-4604 | 33
  • 34. Agenda What Is SSO? Survey of the Main Open Source Players Head-to-Head Comparisons Summary Q&A 2007 JavaOneSM Conference | Session TS-4604 | 34
  • 35. Head-to-Head Comparison Retrofitting an existing application ā€¢ JOSSO ā€¢ No support for certain application servers ā€¢ Does provide a plugin infrastructure to facilitate integration with other containers; you can base your own plugin on existing samples ā€¢ OpenSSO ā€¢ Can fit into a multitude of application servers because of the availability of agents ā€¢ These agents include Apache, Sun Java System Web Server, Microsoft IIS, Domino 2007 JavaOneSM Conference | Session TS-4604 | 35
  • 36. Head-to-Head Comparison Integration of non-Java applications ā€¢ JOSSO ā€¢ Uses web services for asserting user identity via SOAP ā€¢ Allows the integration of non-Java applications (e.g., PHP, .NET, etc.) ā€¢ CAS ā€¢ There are many client libraries to assist in ā€œCASifyingā€ applications ā€¢ Examples include AuthCAS for Apache, a uPortal client, a Java technology Client, a PHP client, and a Perl client 2007 JavaOneSM Conference | Session TS-4604 | 36
  • 37. Head-to-Head Comparison Customizability ā€¢ JOSSO ā€¢ If your application server is not supported, need to customize by writing plugins ā€¢ CAS ā€¢ Basic implementation includes only HTTPS ā€¢ Can be easily customized to be HTTP enabled ā€¢ Look and feel of login pages can be changed ā€¢ Comes with pluggable authenticators to validate against LDAP, etc. ā€¢ OpenSSO ā€¢ Customizations can be done by writing Authentication modules ā€¢ Authentication User Interface JSP pages can be customized by Realm, Locale, Client type, or any Service of the SSO system 2007 JavaOneSM Conference | Session TS-4604 | 37
  • 38. Head-to-Head Comparison Ease of deployment ā€¢ CAS ā€¢ Involves deploying CAS Server (downloadable as a pre-built WAR file or can be customized) and a CAS client with each application ā€¢ JOSSO ā€¢ Involves Configuration of: ā€¢ Single Sign-On Gateway ā€¢ The Authenticator ā€¢ The Identity Manager ā€¢ The Session Manager ā€¢ OpenSSO ā€¢ Deployable as a WAR file 2007 JavaOneSM Conference | Session TS-4604 | 38
  • 39. Head-to-Head Comparison Authentication for non-browser-based clients ā€¢ CAS ā€¢ Has Proxy Authentication support ā€¢ OpenSSO ā€¢ Does not have out-of-the-box support for CAS-like proxy authentication; however, there are authentication APIs available to build one ā€¢ JOSSO ā€¢ Comes with a Reverse Proxy component that can be used to create n-tier Single Sign-On configurations 2007 JavaOneSM Conference | Session TS-4604 | 39
  • 40. Head-to-Head Comparison Support for web service security ā€¢ JOSSO ā€¢ Can be used to secure web services but is limited due to the level of application server support ā€¢ CAS ā€¢ Supports web service security by protecting URLs ā€¢ OpenSSO ā€¢ Secure web services using SAML 2007 JavaOneSM Conference | Session TS-4604 | 40
  • 41. Head-to-Head Comparison Community support ā€¢ As all three are Open Source solutions, the support is in the form of project websites, community generated documentation, user forums and mailing lists ā€¢ CAS, OpenSSO, and JOSSO all have well- managed user groups 2007 JavaOneSM Conference | Session TS-4604 | 41
  • 42. Agenda What Is SSO? Survey of the Main Open Source Players Head-to-Head Comparisons Summary Q&A 2007 JavaOneSM Conference | Session TS-4604 | 42
  • 43. How to Choose Which horse for which courseā€¦ ā€¢ There are multiple factors to consider when deciding on the SSO solution you need ā€¢ All three are Open Source solutions, so licensing issues are removed ā€¢ OpenSSO is a good choice if: ā€¢ Using XML-based file formats and language independent APIs is important ā€¢ Clustered environment support is required ā€¢ SSL mutual authentication is required ā€¢ You want to leverage all of the features of the Sun Java System Access Manager ā€¢ CAS is a good choice if: ā€¢ Your using a Spring-based infrastructure with acegi ā€¢ Your using simple DB-based credential management ā€¢ JOSSO is a good choice if: ā€¢ It supports your particular application server; otherwise, additional development effort will be required 2007 JavaOneSM Conference | Session TS-4604 | 43
  • 44. Alternative Open Source Solutions Some other horses to consider ā€¢ Atlassian Seraph http://opensource.atlassian.com/seraph ā€¢ Shibboleth http://shibboleth.internet2.edu ā€¢ CoSign http://www.umich.edu/~umweb/software/cosign ā€¢ Enterprise Sign On Engine http://esoeproject.org 2007 JavaOneSM Conference | Session TS-4604 | 44
  • 45. For More Information ā€¢ OpenSSO Home Page https://opensso.dev.java.net/ ā€¢ JOSSO Home Page http://www.josso.org/ ā€¢ CAS Home Page http://www.ja-sig.org/products/cas/ ā€¢ Wikipedia http://en.wikipedia.org/wiki/Single_sign-on ā€¢ SAML http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=security ā€¢ Acegi http://www.acegisecurity.org/ 2007 JavaOneSM Conference | Session TS-4604 | 45
  • 46. Agenda What Is SSO? Survey of the Main Open Source Players Head-to-Head Comparisons Summary Q&A 2007 JavaOneSM Conference | Session TS-4604 | 46
  • 48. Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-On Craig Dickson, Software Engineering Manager Naveen Nallannagari, Senior Consultant Behr Process Corporation www.behr.com TS-4604 2007 JavaOneSM Conference | Session TS-4604 |