SSO-Integration - Technische Dokumentation Shibboleth

Einführung

Das Career Center by JobTeaser ist die offizielle Online-Karriereplattform Ihrer Hochschule, auf der Studierende Informationen über Unternehmen, sowie Stellenanzeigen für Praktika und Festanstellungen finden können. Um nur einer bestimmten Nutzergruppe Zugriff zu diesem Career Center zu gewähren, unterstützt JobTeaser verschiedene SSO-Integrationen. Bei einer SSO-Integration authentifiziert Ihr Hochschulserver die Nutzer und berechtigt sie zum Zugriff auf die Plattform. 

 

Integration SSO Shibboleth

Überblick

Shibboleth ist ein Open-Source Softwarepaket, dass Single Sign-On (SSO) gegenüber Webservices ermöglicht. Es ermöglicht Benutzern, sich mit derselben Identität in mehrere Systeme verschiedener Anbieter einzuloggen (Authentifizierung und Autorisierung). Shibboleth basiert auf dem SAML Standard und erweitert Ihn um einige Funktionen. Shibbolet wird von der DFN-Federation und EduGain unterstützt.
Die folgende Dokumentation ist daher ähnlich der von SAML, weist jedoch an einigen Punkten Abweichungen auf:

   +------------+           +------------+          +-----------+
   |   Service  |           |  Student   |          |   Auth    |
   |  Provider  |           |            |          |  Server   |
   +------------+           +------------+          +-----------+
         |                        |                       |
         | <-  request resource --|                       |
         | --  redirect to IDP -->|                       |
         |                        |                       |
         |                        |----- request IDP ---->|
         |                        |<-- Get SAML payload --|
         |                        |                       |
         |<-- send SAML payload --|                       |
         | redirect to resource ->|                       |

 

Konfiguration Ihrer Plattform

Folgende URLs benötigen Sie für die Konfiguration:

  • Issuer URL: https://school-permalink.jobteaser.com/users/auth/school_permalink_shibboleth/metadata
  • Callback URL: https://school-permalink.jobteaser.com/users/auth/school_permalink_shibboleth/callback
  • Sign-in URL: https://school-permalink.jobteaser.com/

Bitte fügen Sie anstatt “school-permalink” den Permalink Ihres Career Centers ein.

 

Technische Umgebung

Folgenden IP Adressen muss der Request-Zugriff auf Ihren Authentifizierungsserver gegeben werden:

  • Development: 84.14.204.224 bis 84.14.204.239
  • Production: 34.247.150.89, 52.48.69.13 und 34.242.136.182
  • Pre-Production: 34.248.34.73, 52.209.6.99 und 52.31.86.10

 

JobTeaser Konfiguration

Voraussetzungen

  • URL der SAML-Metadaten Ihres Identity Providers (IDP)
  • Test-Nutzeraccount zur End-zu-End Validierung (muss Dummy-Werte für die geforderten Nutzerattribute enthalten, s.u.)
  • NameID (muss im Format “persistent” sein, darf keine E-Mail Adresse sein)

Benutzerattribute

Folgende Nutzerattribute müssen in der Integration inkludiert sein:

FriendlyName Name NameFormat
mail urn:oid:0.9.2342.19200300.100.1.3 urn:oasis:names:tc:SAML:2.0:attrname-format:uri
givenName urn:oid:2.5.4.42 urn:oasis:names:tc:SAML:2.0:attrname-format:uri
sn urn:oid:2.5.4.4 urn:oasis:names:tc:SAML:2.0:attrname-format:uri

Die NameID ist der eindeutige Schlüssel (uid), der JobTeaser die Identifizierung des Nutzers erlaubt. Dieses Attribut ist im Shibboleth Protokoll inkludiert, muss also dementsprechend nicht zu den Nutzerattributen hinzugefügt werden.

Beispiel:

<?xml version="1.0" encoding="UTF-8"?>
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="_6a594969-3bb5-4cb5-b282-a3bbef28596f" Version="2.0" IssueInstant="2017-09-26T13:36:11.599Z" Destination="https://school-test.jobteaser.com/users/auth/school_test_shibboleth/callback" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" InResponseTo="_89a8d0d0-84ed-0135-a6ff-784f4377ec3a">
   <Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">http://school-test.com/adfs/services/trust</Issuer>
   <samlp:Status>
      <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" />
   </samlp:Status>
   <Assertion xmlns="urn:oasis:names:tc:SAML:2.0:assertion" ID="_f7f62832-87a9-4e4d-84c4-b32896426771" IssueInstant="2017-09-26T13:36:11.598Z" Version="2.0">
      <Issuer>http://school-test.com/adfs.luiss.it/adfs/services/trust</Issuer>
      <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
         <ds:SignedInfo>
            <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
            <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" />
            <ds:Reference URI="#_f7f62832-87a9-4e4d-84c4-b32896426771">
               <ds:Transforms>
                  <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
                  <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
               </ds:Transforms>
               <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
               <ds:DigestValue>xLPchzLCcPyeg5f+b86alx/5qF/vfWL1rOcM3CMwa5o=</ds:DigestValue>
            </ds:Reference>
         </ds:SignedInfo>
         <ds:SignatureValue>BnxIWEu5z3vrIJSINwi2yVJdXNOW4aHNevOYh7C+Z/6k4wpnER2Yrq8p3ZwFYQrQzj1JpubLNLVnf5k1TIbyFDiRyPTn049Fw0vE/6Mr8ymwnqysA4yp9nfm7s3bIiEf9C2rErNaHtAb1CyAeFrus1MqdBy5RhiXLPSSzcq4SPy+y+bsONZcfBhcvm4CGRLviye737arxf+KI4bKLzWRdwc1Inx5IlH1BJnFS7c9fJ+5xTjtF/N670VXo2/RMTA3lv3T93e7Mvu0/MnPCbNgvjekCFdqjMZc02y5YPgXZMnPtNmV4zfAGxmILipmleZWudzkepgmdOAvJrawLVjU/A==</ds:SignatureValue>
         <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
            <ds:X509Data>
               <ds:X509Certificate>MIIC1jCCAb6gAwIBAgIQYiu3Ar7taK5J5cwduzsPVjANBgkqhkiG9w0BAQsFADAnMSUwIwYDVQQDExxBREZTIFNpZ25pbmcgLSBhZGZzLmx1aXNzLml0MB4XDTE3MDEyODIxMDg0OFoXDTE4MDEyODIxMDg0OFowJzElMCMGA1UEAxMcQURGUyBTaWduaW5nIC0gYWRmcy5sdWlzcy5pdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMaAMMC+osNrNe58H6vWChnWa221XWeZGCnB9U4ItYzxkcj1OaHKRDZu+WxkIj7riQVecodA/CXLTeVbvVdMLxAytbXNz1GgFl+LSkVLlA1MxiErcEQsrekdt5eMAcj1HabflwcL2rJzXXjMn+jcRr4MYmzWnrWHr2dFU8AuxMNu49C6TeSJMFx5bAMA7I+qZbO/CqPcksRsIKNTrHaKhAM1aT6674Y+TmkQd3Hc/t6MyyJKTn7D+DG2fGZNu2Ig1zHdjV206Tq24TXRwr+2hRWxtbkwFxbxBQtXwGyVDvf+mrN+0+v7i909bnFqwnLbnWgQKI9X1FiEtmUxutXHp20CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAcCoUFgrNvNrLPzCvTPczAVQqoEccLEyV0LGv/xj4eXiNOW7AiJoi17aqQmdAFqal3Jkz8aPj7CkD1rZ81S5VZ1NYO5k0NYyoUQH0UKz2JpITmAstg5FCTzChxI59ZPfpLcA3JsJUwQOYqdRTbZichyJvVvApkkeyIAAIqtV3liMGQknbKHAhhrEdS8X/0ARO8j037gt1ItWmLs49Px8Mc4jR3oeu+VUsGKm5Brpq0JcAoXCSOQd0WCsGhD/BaUZaKu7HF1gHt2TiLkkO3qBUq6KsN8aiKoTt3kN81NrPNLgqQ4VPWOK/ZbP8rud8lNGT5cR1wKI3Pji2tfRvRQ5d4A==</ds:X509Certificate>
            </ds:X509Data>
         </KeyInfo>
      </ds:Signature>
      <Subject>
         <NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">YT8kKonm3A5sVMOcvWjavJBhi</NameID>
         <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
            <SubjectConfirmationData InResponseTo="_89a8d0d0-84ed-0135-a6ff-784f4377ec3a" NotOnOrAfter="2017-09-26T13:41:11.599Z" Recipient="https://school-test.com/users/auth/school_test_shibboleth/callback" />
         </SubjectConfirmation>
      </Subject>
      <Conditions NotBefore="2017-09-26T13:36:09.087Z" NotOnOrAfter="2017-09-26T14:36:09.087Z">
         <AudienceRestriction>
            <Audience>https://school-test.com/users/auth/school_test_shibboleth/metadata</Audience>
         </AudienceRestriction>
      </Conditions>
      <AttributeStatement>
         <saml2:Attribute FriendlyName="mail" Name="urn:oid:0.9.2342.19200300.100.1.3" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
            <saml2:AttributeValue>john.doe@school-test.com</saml2:AttributeValue>
         </saml2:Attribute>
         <saml2:Attribute FriendlyName="sn" Name="urn:oid:2.5.4.4" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
            <saml2:AttributeValue>Doe</saml2:AttributeValue>
         </saml2:Attribute>
         <saml2:Attribute FriendlyName="givenName" Name="urn:oid:2.5.4.42" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
            <saml2:AttributeValue>John</saml2:AttributeValue>
         </saml2:Attribute>
      </AttributeStatement>
      <AuthnStatement AuthnInstant="2017-09-26T13:36:09.022Z" SessionIndex="_f7f62832-87a9-4e4d-84c4-b32896426771">
         <AuthnContext>
            <AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</AuthnContextClassRef>
         </AuthnContext>
      </AuthnStatement>
   </Assertion>
</samlp:Response>

 

 

Spezifikationen ADFS

Wenn Sie die Microsoft-eigene Software Active Directory Federation Services nutzen, sind zusätzliche Befehle notwendig, damit die Zertifikate vom System akzeptiert werden: 

 

Set-AdfsRelyingPartyTrust -TargetName 'ihrpermalink.jobteaser.com' -SigningCertificateRevocationCheck None

Set-AdfsRelyingPartyTrust -TargetName 'ihrpermalink.jobteaser.com' -EncryptionCertificateRevocationCheck None

 

Für die NameID können Sie die UPN verwenden. 

 

War dieser Beitrag hilfreich?
0 von 0 fanden dies hilfreich

Kommentare

0 Kommentare

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.