FR / DE / EN

4.4 Variante B

Procédure

  1. Construire le lien : en utilisant les paramètres HIN.
  2. Authentification de l'utilisateur : l'utilisateur s'authentifie via e-ID et reçoit une fenêtre contextuelle avec des options Oui et Non.
  3. Authentification et redirection : après une connexion réussie, l'utilisateur est redirigé vers une URL (qui doit être communiquée à HIN) qui contient le jeton d'authentification en tant que paramètre d'URL. Par exemple : https://example.com/callback?Code=iwdjoijwiw90dj9j2odij2oijwoidwd
  4. Extraction du jeton dans le backend : le serveur reçoit la requête et extrait le jeton d'authentification de l'URL. Le jeton se trouve dans le paramètre "Code" (par exemple, Code=iwdjoijwiw90dj9j2odij2oijwoidwd).
  5. Obtention du jeton d'accès HIN.

Lien à construire : http://apps.hin.ch/REST/v1/OAuth/GetAuthCode/?response_type=code&client_id=<CLIENT_ID>&redirect_uri=<CREDIRECT_URI_ENCODED>&state=

Lorsque l'on ouvre le lien dans le navigateur

Dans cette variante, le jeton d'authentification est fourni directement via une redirection. Après une connexion réussie (Oui), il y a une redirection automatique vers une autre page, que nous devons enregistrer dans notre backend, où le jeton d'authentification est passé en tant que paramètre dans l'URL. Le jeton pourrait ressembler à ceci : Code=iwdjoijwiw90dj9j2odij2oijwoidwd.

Traitement dans le backend

Le serveur reçoit cette URL et extrait le jeton du paramètre d'URL. Dans ce cas, il s'agit du paramètre Code, qui contient le jeton iwdjoijwiw90dj9j2odij2oijwoidwd.

Exemple avec Flask

from flask import request

@app.route('/callback')
def callback():
    # Extraction du paramètre 'code' de l'URL
    auth_token = request.args.get('code')

    # Traitement ultérieur du jeton...