SlideShare a Scribd company logo
SSO
                           Single Sign-On




  TEQneers GmbH & Co. KG                    Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
Definition

                • Property of access control of multiple,
                       related, but independent software
                       systems
                • One time authorization process for
                       multiple applications, websites, ...


  TEQneers GmbH & Co. KG                                      Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
Benefits
           • Reducing countless logins and passwords
           • Reducing time effort to re-login
           • Reducing IT cost/help desk
           • Same level of password security everywhere
           • Centralized reporting
           • Usually much better passwords
  TEQneers GmbH & Co. KG                        Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
Criticism
                • Stolen credential opens all dungeons
                • Infrastructure
                • Might be combined with strong
                       authentications (e.g. SmartCards)
                • Many solutions need very expensive
                       software or hardware solutions

  TEQneers GmbH & Co. KG                                   Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
Issues

                • Different apps uses different SSO
                       processes
                • Impossible to find ONE SSO for all (?)
                • Most solution unable to jump over
                       intranet barrier


  TEQneers GmbH & Co. KG                              Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
Solutions
             • Kerberos [1983]
             • LDAP (slapd, Active Directory, …) [1993]
             • NTLM (NT Lan Manager) [2000]
             • CAS (Central Authentication Service) [2001]
             • PKI (Public Key Infrastructure) [1969]
             • SAML [2002]
             • ...
  TEQneers GmbH & Co. KG                          Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
Kerberos
                • No easy setup
                • Not easy for developers to setup same
                       environment
                • Intranet barrier
                • External service provider unable to use
                       SSO

  TEQneers GmbH & Co. KG                             Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
LDAP / AD
                • SAME sign-on
                • Intranet barrier (too much information)
                • External service provider unable to use
                       SSO
                • Easy to implement
                • Nice to sync user data
  TEQneers GmbH & Co. KG                             Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
// using ldap bind
                $ldaprdn = 'uname'; // ldap rdn or dn
                $ldappass = 'password'; // associated password

                // connect to ldap server
                $ldapconn = ldap_connect("ldap.example.com")
                  or die("Could not connect to LDAP server.");

                if ($ldapconn) {
                    // binding to ldap server
                    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

                    // verify binding
                    if ($ldapbind) {
                       echo "LOGIN successful...";
                    } else {
                       echo "LOGIN failed...";
                    }
                }


  TEQneers GmbH & Co. KG                                                     Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
NTLM
                • Intranet barrier
                • External service provider unable to use
                       SSO
                • Based on Windows logon and Kerberos
                • Compatibility issues (more or less
                       Microsoft territory Windows, IIS, IE)
                • Easy to implement for developers
  TEQneers GmbH & Co. KG                                   Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
function get_msg_str($msg, $start, $unicode = true) {
                           $len = (ord($msg[$start+1]) * 256) + ord($msg[$start]);
                           $off = (ord($msg[$start+5]) * 256) + ord($msg[$start+4]);
                           if ($unicode)
                               return str_replace("0", '', substr($msg, $off, $len));
                           else
                               return substr($msg, $off, $len);
                   }
                   $msg = base64_decode(substr($auth, 5));
                   $user = get_msg_str($msg, 36);
                   $domain = get_msg_str($msg, 28);
                   $workstation = get_msg_str($msg, 44);


                   print "You are $user from $domain/$workstation";


  TEQneers GmbH & Co. KG                                                         Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
Central Authentication
                  Service (CAS)
                • Token/ticket based authentication
                • Developed by Yale University
                • phpCAS open source implementation
                • Made for web only
                • Common in education environment
  TEQneers GmbH & Co. KG                        Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
include_once('CAS.php');

                // initialize phpCAS
                phpCAS::client(CAS_VERSION_2_0,'sso-cas.home.com',443,'');

                // no SSL validation for the CAS server
                phpCAS::setNoCasServerValidation();

                // force CAS authentication
                phpCAS::forceAuthentication();

                // at this step, the user has been authenticated by the CAS server
                // and the user's login name can be read with phpCAS::getUser().

                // logout if desired
                if (isset($_REQUEST['logout'])) {
                       phpCAS::logout();
                }

                echo "LOGIN successful...";


  TEQneers GmbH & Co. KG                                                             Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
Public Key
                           Infrastructure (PKI)
       • X.509 certification based authentication
       • Its about what-you-have (client certificate) and
              not what-you-know (password)
       • Often used with smart cards (e.g. employee ID)
       • Made for Web, SSH, OS login, ...
       • Common in enterprise and government solutions
  TEQneers GmbH & Co. KG                        Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
### PHP

       $cert = openssl_x509_parse($_SERVER[‘SSL_CLIENT_CERT’]));

       // verify login
                                                                     array(12) {
       if ( in_array( $cert[‘subject’][‘cn’], $allowedLogins ) ) {    ["name"]=> string(75) "/C=DE/O=TEQneers/
          echo "LOGIN successful...";                                OU=Dev/CN=Oliver/
       } else {                                                      emailAddress=oliver@php.net"
          echo "LOGIN failed...";                                     ["subject"]=> array(6) {
       }                                                                ["C"]=> string(2) "DE"
                                                                        ["O"]=> string(10) "TEQneers"
                                                                        ["OU"]=> string(10) "Dev"
                                                                        ["CN"]=> string(8) "Oliver"
                                                                        ["emailAddress"]=> string(10) "foo@bar.de"
      ### Apache configuration or .htaccess                           }
                                                                      ["hash"]=> string(8) "123abc45"
      SSLVerifyClient required                                        ["issuer"]=> array(7) {
                                                                        ...
      SSLRequireSSL
                                                                      }
      SSLVerifyDepth 1                                                ["version"]=> int(2)
                                                                      ["serialNumber"]=> string(1) "987"
                                                                      ["validFrom"]=> string(13)
                                                                     "110131143055Z"
                                                                      ["validTo"]=> string(13) "130130142954Z"
                                                                      ...




  TEQneers GmbH & Co. KG                                                                  Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
SAML
                • Security Assertion Markup Language
                • Defined by OASIS
                • Made for internet and extranet sites
                • Credentials/Information can be
                       configured
                • Open (based on XML, SOAP, HTTP, ...)
  TEQneers GmbH & Co. KG                            Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
SAML Parties

                • Client (browser)
                • Web application
                • Service Provider (SAML client)
                • Identity Provider (enterprise federation
                       server)


  TEQneers GmbH & Co. KG                             Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
Service Provider
                • selfmade
                • simpleSAMLphp (open source PHP
                       solution)
                • PingConnect (PHP, Perl, Java, …)
                • ...
  TEQneers GmbH & Co. KG                             Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
TEQneers GmbH & Co. KG   Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
• user enters URL https://app.com/saml.php
     • user without valid SAML assertion will be forwarded to service provider
       • browser asks service provider to give him a XML assertion
       • XML assertion request form is send back to the browser
       • browser forwards assertion request form to identity provider
       • IF NOT LOGGED IN YET
           • identity provider ask the user to log into the enterprise network
           • user enters his login/password and sends it back to identity provider
       • client receives a XML assertion and cookie signed by the identity provider
       • XML assertion is send to service provider, who validates assertion
     • if assertion is valid, user will be pushed back to his initial url
     • assertion will be checked and user is going to be looked up in your app
     • if user exists, app start page appears, otherwise app might show standard login
           page


  TEQneers GmbH & Co. KG                                            Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
// Load simpleSAMLphp configuration and session.
            $config = SimpleSAML_Configuration::getInstance();
            $session = SimpleSAML_Session::getInstance();

            // Check if valid local session exists.
            if (!$session->isValid('saml2') ) {
              // Redirect to the IdP for authentication.
              SimpleSAML_Utilities::redirect(
               '/' . $config->getBaseURL() . 'saml2/sp/initSSO.php',
               array('RelayState' => SimpleSAML_Utilities::selfURL())
               );
            }

            // successful authorization
            $attributes = $session->getAttributes();
            print_r($attributes); // might print out email or login

  TEQneers GmbH & Co. KG                                                Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
<saml:Assertion AssertionID="123" IssueInstant="2008-10-08T20:16:12.377Z"
         Issuer="TransactionMinderSAMLIssuer" MajorVersion="1" MinorVersion="0"
         xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion">
         <saml:Conditions NotBefore="2008-10-08T20:16:12.307Z
         NotOnOrAfter="2008-1008T22:16:12.307Z"/>
         <saml:AuthenticationStatement AuthenticationInstant="2008-10-08T20:16:12.307Z"
         AuthenticationMethod="urn:oasis:names:tc:SAML">
           <saml:Subject>
          <saml:NameIdentifier Format="urn:oasis:names:tc:SAML:1.0"
         NameQualifier="Domain Name">Claire Wasser</saml:NameIdentifier>
            <saml:SubjectConfirmation>
             <saml:ConfirmationMethod>http://www/>
             <saml:SubjectConfirmationData>R1VD8fkkvlrhp</saml:SubjectConfirmationData>
            </saml:SubjectConfirmation>
           </saml:Subject>
          </saml:AuthenticationStatement>
         </saml:Assertion>

  TEQneers GmbH & Co. KG                                                 Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
Identity Server
                • Shibboleth IdP (open source)
                • PingIdentity
                • Oracle Identity Server
                • SAP NetWeaver
                • Sun OpenSSO ForgeRock OpenAM
                • IBM
                • Microsoft Geneva
  TEQneers GmbH & Co. KG                         Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
One size does fit it all

                • Most federation solution support many
                       different SSO technologies
                • Most are based on any kind of LDAP
                       backend



  TEQneers GmbH & Co. KG                            Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011
Thanks for listening
                           contact me if you have any questions

                                  email: oliver@php.net
                                email: oliver@teqneers.de
                              phone: +49 (711) 46 97 28-82


                                   Have Fun!
  TEQneers GmbH & Co. KG                                     Dipl. Betriebswirt (BA) Oliver Müller

Samstag, 5. März 2011

More Related Content

PDF
Single sign on (SSO) How does your company apply?
Đỗ Duy Trung
 
PDF
Single Sign On - The Basics
Ishan A B Ambanwela
 
PPTX
Single Sign On 101
Mike Schwartz
 
PDF
SAML Protocol Overview
Mike Schwartz
 
PDF
AWS IAM -- Notes of 20130403 Doc Version
Ernest Chiang
 
PPTX
SSO introduction
Aidy Tificate
 
PPTX
What is SSO? An introduction to Single Sign On
Riddhi Sood
 
PPTX
Single sign on - SSO
Ajit Dadresa
 
Single sign on (SSO) How does your company apply?
Đỗ Duy Trung
 
Single Sign On - The Basics
Ishan A B Ambanwela
 
Single Sign On 101
Mike Schwartz
 
SAML Protocol Overview
Mike Schwartz
 
AWS IAM -- Notes of 20130403 Doc Version
Ernest Chiang
 
SSO introduction
Aidy Tificate
 
What is SSO? An introduction to Single Sign On
Riddhi Sood
 
Single sign on - SSO
Ajit Dadresa
 

What's hot (20)

PDF
Introduction to SAML 2.0
Mika Koivisto
 
PPTX
An Introduction to OAuth2
Aaron Parecki
 
PPT
Presentation sso design_security
Marco Morana
 
PPTX
Single Sign On Considerations
Venkat Gattamaneni
 
PDF
Single sign on using SAML
Programming Talents
 
PPT
OAuth 2.0 and OpenId Connect
Saran Doraiswamy
 
PPTX
SINGLE SIGN-ON
Shambhavi Sahay
 
PPTX
Identity and Access Management Introduction
Aidy Tificate
 
PPTX
End to End Security With Palo Alto Networks (Onur Kasap, engineer Palo Alto N...
BAKOTECH
 
PPTX
An Introduction to OAuth 2
Aaron Parecki
 
PPTX
Understanding JWT Exploitation
AkshaeyBhosale
 
PDF
OAuth & OpenID Connect Deep Dive
Nordic APIs
 
PDF
Demystifying SAML 2.0,Oauth 2.0, OpenID Connect
Vinay Manglani
 
PPTX
Secure your app with keycloak
Guy Marom
 
PPTX
IdP, SAML, OAuth
Dan Brinkmann
 
PPTX
Hashicorp Vault ppt
Shrey Agarwal
 
PDF
OpenID Connect Explained
Vladimir Dzhuvinov
 
PPTX
48. Azure Active Directory - Part 1
Shawn Ismail
 
PPTX
Rest API Security - A quick understanding of Rest API Security
Mohammed Fazuluddin
 
Introduction to SAML 2.0
Mika Koivisto
 
An Introduction to OAuth2
Aaron Parecki
 
Presentation sso design_security
Marco Morana
 
Single Sign On Considerations
Venkat Gattamaneni
 
Single sign on using SAML
Programming Talents
 
OAuth 2.0 and OpenId Connect
Saran Doraiswamy
 
SINGLE SIGN-ON
Shambhavi Sahay
 
Identity and Access Management Introduction
Aidy Tificate
 
End to End Security With Palo Alto Networks (Onur Kasap, engineer Palo Alto N...
BAKOTECH
 
An Introduction to OAuth 2
Aaron Parecki
 
Understanding JWT Exploitation
AkshaeyBhosale
 
OAuth & OpenID Connect Deep Dive
Nordic APIs
 
Demystifying SAML 2.0,Oauth 2.0, OpenID Connect
Vinay Manglani
 
Secure your app with keycloak
Guy Marom
 
IdP, SAML, OAuth
Dan Brinkmann
 
Hashicorp Vault ppt
Shrey Agarwal
 
OpenID Connect Explained
Vladimir Dzhuvinov
 
48. Azure Active Directory - Part 1
Shawn Ismail
 
Rest API Security - A quick understanding of Rest API Security
Mohammed Fazuluddin
 
Ad

Similar to Enterprise Single Sign-On - SSO (8)

PDF
Jasig
Steve Swinsburg
 
PDF
Strong Authentication in Web Application #SCS III
Sylvain Maret
 
PPTX
Week3 lecture
Shaikha AlQaydi
 
KEY
IoC with PHP
Chris Weldon
 
PDF
Pay Forum Conference
hagero
 
PDF
QualysGuard InfoDay 2012 - Secure Digital Vault for Qualys
Risk Analysis Consultants, s.r.o.
 
PPTX
Hybrid authentication - Talking To Major Social Networks
Rayhan Chowdhury
 
PDF
LASCON 2013 Talk: User Auth for Winners, how to get it right the first time!
Karthik Gaekwad
 
Strong Authentication in Web Application #SCS III
Sylvain Maret
 
Week3 lecture
Shaikha AlQaydi
 
IoC with PHP
Chris Weldon
 
Pay Forum Conference
hagero
 
QualysGuard InfoDay 2012 - Secure Digital Vault for Qualys
Risk Analysis Consultants, s.r.o.
 
Hybrid authentication - Talking To Major Social Networks
Rayhan Chowdhury
 
LASCON 2013 Talk: User Auth for Winners, how to get it right the first time!
Karthik Gaekwad
 
Ad

Enterprise Single Sign-On - SSO

  • 1. SSO Single Sign-On TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 2. Definition • Property of access control of multiple, related, but independent software systems • One time authorization process for multiple applications, websites, ... TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 3. Benefits • Reducing countless logins and passwords • Reducing time effort to re-login • Reducing IT cost/help desk • Same level of password security everywhere • Centralized reporting • Usually much better passwords TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 4. Criticism • Stolen credential opens all dungeons • Infrastructure • Might be combined with strong authentications (e.g. SmartCards) • Many solutions need very expensive software or hardware solutions TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 5. Issues • Different apps uses different SSO processes • Impossible to find ONE SSO for all (?) • Most solution unable to jump over intranet barrier TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 6. Solutions • Kerberos [1983] • LDAP (slapd, Active Directory, …) [1993] • NTLM (NT Lan Manager) [2000] • CAS (Central Authentication Service) [2001] • PKI (Public Key Infrastructure) [1969] • SAML [2002] • ... TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 7. Kerberos • No easy setup • Not easy for developers to setup same environment • Intranet barrier • External service provider unable to use SSO TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 8. LDAP / AD • SAME sign-on • Intranet barrier (too much information) • External service provider unable to use SSO • Easy to implement • Nice to sync user data TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 9. // using ldap bind $ldaprdn = 'uname'; // ldap rdn or dn $ldappass = 'password'; // associated password // connect to ldap server $ldapconn = ldap_connect("ldap.example.com") or die("Could not connect to LDAP server."); if ($ldapconn) { // binding to ldap server $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass); // verify binding if ($ldapbind) { echo "LOGIN successful..."; } else { echo "LOGIN failed..."; } } TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 10. NTLM • Intranet barrier • External service provider unable to use SSO • Based on Windows logon and Kerberos • Compatibility issues (more or less Microsoft territory Windows, IIS, IE) • Easy to implement for developers TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 11. function get_msg_str($msg, $start, $unicode = true) { $len = (ord($msg[$start+1]) * 256) + ord($msg[$start]); $off = (ord($msg[$start+5]) * 256) + ord($msg[$start+4]); if ($unicode) return str_replace("0", '', substr($msg, $off, $len)); else return substr($msg, $off, $len); } $msg = base64_decode(substr($auth, 5)); $user = get_msg_str($msg, 36); $domain = get_msg_str($msg, 28); $workstation = get_msg_str($msg, 44); print "You are $user from $domain/$workstation"; TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 12. Central Authentication Service (CAS) • Token/ticket based authentication • Developed by Yale University • phpCAS open source implementation • Made for web only • Common in education environment TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 13. include_once('CAS.php'); // initialize phpCAS phpCAS::client(CAS_VERSION_2_0,'sso-cas.home.com',443,''); // no SSL validation for the CAS server phpCAS::setNoCasServerValidation(); // force CAS authentication phpCAS::forceAuthentication(); // at this step, the user has been authenticated by the CAS server // and the user's login name can be read with phpCAS::getUser(). // logout if desired if (isset($_REQUEST['logout'])) { phpCAS::logout(); } echo "LOGIN successful..."; TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 14. Public Key Infrastructure (PKI) • X.509 certification based authentication • Its about what-you-have (client certificate) and not what-you-know (password) • Often used with smart cards (e.g. employee ID) • Made for Web, SSH, OS login, ... • Common in enterprise and government solutions TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 15. ### PHP $cert = openssl_x509_parse($_SERVER[‘SSL_CLIENT_CERT’])); // verify login array(12) { if ( in_array( $cert[‘subject’][‘cn’], $allowedLogins ) ) { ["name"]=> string(75) "/C=DE/O=TEQneers/ echo "LOGIN successful..."; OU=Dev/CN=Oliver/ } else { [email protected]" echo "LOGIN failed..."; ["subject"]=> array(6) { } ["C"]=> string(2) "DE" ["O"]=> string(10) "TEQneers" ["OU"]=> string(10) "Dev" ["CN"]=> string(8) "Oliver" ["emailAddress"]=> string(10) "[email protected]" ### Apache configuration or .htaccess } ["hash"]=> string(8) "123abc45" SSLVerifyClient required ["issuer"]=> array(7) { ... SSLRequireSSL } SSLVerifyDepth 1 ["version"]=> int(2) ["serialNumber"]=> string(1) "987" ["validFrom"]=> string(13) "110131143055Z" ["validTo"]=> string(13) "130130142954Z" ... TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 16. SAML • Security Assertion Markup Language • Defined by OASIS • Made for internet and extranet sites • Credentials/Information can be configured • Open (based on XML, SOAP, HTTP, ...) TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 17. SAML Parties • Client (browser) • Web application • Service Provider (SAML client) • Identity Provider (enterprise federation server) TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 18. Service Provider • selfmade • simpleSAMLphp (open source PHP solution) • PingConnect (PHP, Perl, Java, …) • ... TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 19. TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 20. • user enters URL https://app.com/saml.php • user without valid SAML assertion will be forwarded to service provider • browser asks service provider to give him a XML assertion • XML assertion request form is send back to the browser • browser forwards assertion request form to identity provider • IF NOT LOGGED IN YET • identity provider ask the user to log into the enterprise network • user enters his login/password and sends it back to identity provider • client receives a XML assertion and cookie signed by the identity provider • XML assertion is send to service provider, who validates assertion • if assertion is valid, user will be pushed back to his initial url • assertion will be checked and user is going to be looked up in your app • if user exists, app start page appears, otherwise app might show standard login page TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 21. // Load simpleSAMLphp configuration and session. $config = SimpleSAML_Configuration::getInstance(); $session = SimpleSAML_Session::getInstance(); // Check if valid local session exists. if (!$session->isValid('saml2') ) { // Redirect to the IdP for authentication. SimpleSAML_Utilities::redirect( '/' . $config->getBaseURL() . 'saml2/sp/initSSO.php', array('RelayState' => SimpleSAML_Utilities::selfURL()) ); } // successful authorization $attributes = $session->getAttributes(); print_r($attributes); // might print out email or login TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 22. <saml:Assertion AssertionID="123" IssueInstant="2008-10-08T20:16:12.377Z" Issuer="TransactionMinderSAMLIssuer" MajorVersion="1" MinorVersion="0" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"> <saml:Conditions NotBefore="2008-10-08T20:16:12.307Z NotOnOrAfter="2008-1008T22:16:12.307Z"/> <saml:AuthenticationStatement AuthenticationInstant="2008-10-08T20:16:12.307Z" AuthenticationMethod="urn:oasis:names:tc:SAML"> <saml:Subject> <saml:NameIdentifier Format="urn:oasis:names:tc:SAML:1.0" NameQualifier="Domain Name">Claire Wasser</saml:NameIdentifier> <saml:SubjectConfirmation> <saml:ConfirmationMethod>http://www/> <saml:SubjectConfirmationData>R1VD8fkkvlrhp</saml:SubjectConfirmationData> </saml:SubjectConfirmation> </saml:Subject> </saml:AuthenticationStatement> </saml:Assertion> TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 23. Identity Server • Shibboleth IdP (open source) • PingIdentity • Oracle Identity Server • SAP NetWeaver • Sun OpenSSO ForgeRock OpenAM • IBM • Microsoft Geneva TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 24. One size does fit it all • Most federation solution support many different SSO technologies • Most are based on any kind of LDAP backend TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011
  • 25. Thanks for listening contact me if you have any questions email: [email protected] email: [email protected] phone: +49 (711) 46 97 28-82 Have Fun! TEQneers GmbH & Co. KG Dipl. Betriebswirt (BA) Oliver Müller Samstag, 5. März 2011