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 |
---|---|---|
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.
Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.