Intégration SSO - Shibboleth - Documentation technique

Introduction

Le Career Center est la plateforme carrière de votre école. C’est un site web où les étudiants peuvent trouver des informations à propos des entreprises, trouver un stage et des offres d’emploi. Ces utilisateurs peuvent accéder au Career Center en s’identifiant au travers de votre système d’authentification.

Intégration SSO Shibboleth

Description

Shibboleth est un mécanisme de fédération d’identités, développé par le consortium Internet2, qui regroupe 207 universités et centres de recherches. Historiquement, les protocoles Shibboleth et SAML ont été élaborés au cours de la même période. Dès le début, Shibboleth était basé sur SAML, mais là où SAML manquait, Shibboleth improvisait. Fondamentalement, les développeurs de Shibboleth ont implémenté des fonctionnalités qui compensaient les fonctionnalités manquantes dans SAML 1.1. Certaines de ces fonctionnalités ont ensuite été incorporées dans SAML 2.0 et, en ce sens, Shibboleth a contribué à l’évolution du protocole SAML.

La documentation suivante est relativement similaire à la documentation SAML. Cependant, certains points sont spécifiques à la configuration Shibboleth

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

Configuration de votre plateforme

Voici les informations qui vous seront nécessaires :

  • 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/

Note : le permalink est le sous-domaine qui sera attribué à votre Career Center

Environnements JobTeaser

Les adresses IP suivantes doivent être autorisées à accéder à votre server d’authentification :

  • Developpement: 84.14.204.224 jusqu’à 84.14.204.239
  • Production: 34.247.150.89, 52.48.69.13 et 34.242.136.182
  • Pre Production: 34.248.34.73, 52.209.6.99 et 52.31.86.10

Configuration JobTeaser

Éléments d’authentification

  • URL des metadata SAML de votre IDentity Provider (IDP)
  • Compte utilisateur de test
  • NameID doit avoir un format persistant et ne doit pas être un email

Attributs de l’utilisateur

Les attributs utilisateur qui doivent être intégrés à JobTeaser sont :

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

Note: L’attribut NameID, correspond à l’identificant unique ( uid ) de l’utilisateur. Etant automatiquement inclus par le protocole, il n’est pas nécessaire d’ajouter celui-ci aux attributs utilisateurs.

Exemple :

<?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>
Cet article vous a-t-il été utile ?
Utilisateurs qui ont trouvé cela utile : 0 sur 0

Commentaires

0 commentaire

Vous devez vous connecter pour laisser un commentaire.