Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Info

Pré-requis

  • Être familier des notions de Single Sign-On (SSO) et plus particulièrement OAuth2

  • Connaitre les bases du protocoles HTTP (query parameter, GET / POST, en-têtes)

  • Savoir utiliser un client HTTP tel que cURL ou un plugin navigateur équivalent 

...

Info

Le flot Authorization Code est le plus couramment utilisé

...

Remarque

Dans l'en-tête "Authorization:Bearer " il faut passer le token

En cas de succes succès le serveur OAuth2 de l'ENT transmet la ressource de l’utilisateur demandée

...

Bloc de code
HTTP/1.1 200 OK
Content-Type: application/json

{
    "level":"",
    "login":"severine.alexandre",
    "lastName":"ALEXANDRE",
    "firstName":"SEVERINE",
    "externalId":"5555959",
    "username":"SEVERINE ALEXANDRE",
    "type":"ENSEIGNANT",
    "childrenIds":[],
    "uai":["0805432C"],
    "userId":"2bacdfd2-b59c-4b21-a23e-f6346e02fc4a",
    "classId":"55567$3ARMS",
    "schoolName":"Collège Denis Poisson"
}

Json Web Token - Bearer :

Via les informations du JWT il est possible d’obtenir les informations authentification :

Astuce

Documentation officielle :

https://datatracker.ietf.org/doc/html/rfc7523

1 - Informations à récupérer de l'éditeur de l'application cliente : ( Supplémentaire )

  • URL du certificat ( à renseigner dans le champs "URL du certificat")

...

2 - Une fois la configuration dans la console administrateur : Récupération du token

Bloc de code
languageyaml
curl --location --request POST 'https://domaine.ent/auth/oauth2/token' \
    --data-urlencode 'grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer' \
    --data-urlencode 'redirect_uri=https://www.duckduckgo.com' \
    --data-urlencode 'client_id={YOUR_CLIENT_ID}' \
    --data-urlencode 'client_secret={YOUR_SECRET}' \
    --data-urlencode 'assertion={YOUR_JSON_WEB_TOKEN}' \
    --data-urlencode 'scope={SCOPE}'

3 - En cas de succes le serveur OAuth2 de l'ENT transmet l’Access Token

Bloc de code
languagejson
{
    "token_type": "Bearer",
    "access_token": "5459a598-72f0-482c-b54a-fd44e92af5da",
    "expires_in": 3600,
    "scope": "email userinfo"
}