SlideShare ist ein Scribd-Unternehmen logo
1 von 48
Downloaden Sie, um offline zu lesen
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 |

Weitere ähnliche Inhalte

Was ist angesagt?

Enterprise Single Sign-On - SSO
Enterprise Single Sign-On - SSOEnterprise Single Sign-On - SSO
Enterprise Single Sign-On - SSOOliver Mueller
 
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 (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
 
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
 
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
 
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
 
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
 

Was ist angesagt? (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 
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
 
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 - 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
 

Mehr von 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
 

Kürzlich hochgeladen

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 

Kürzlich hochgeladen (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

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 |