Authentification

Type d'authentification

Authentification simple

Aucune authentification : le Webservice ne nécessite aucune authentification.

Authentification avec identifiants

Authentification Login / Mot de passe / NTLM : le WebService nécessite un couple login/Mot de passe (aussi appelé Credential) qui est passé dans l’entête de la requête HTTP(s).

Il existe trois modes Login / Mot de passe :

  • Login / Mot de passe :

    1. MyReport effectue d'abord un challenge HTTP (un premier appel au serveur sans authentification).
    2. Le serveur renvoi une erreur 401 avec l'entête WWW-Authenticate: Basic realm="...."
    3. MyReport effectue un second appel avec l'entête Authorization: Basic ....

    Basic Auth :

    • MyReport ne fait qu'un appel avec l'entête Authorization: Basic ....

      Ce mode existe parce que certains serveurs ne respectent pas le protocole du challenge et ne mettent pas la bonne entête dans la réponse.

    Authentification Windows (NTLM) :

    • MyReport utilise les informations d’identification utilisateur de Microsoft Windows pour tenter l’authentification auprès du serveur

    Digest :

    • Un premier appel est effectué pour récupérer des informations qui seront utilisés pour calculer l'entête d'authentification
    • MyReport fait un appel avec l'entête Authorization: Digest ....

Authentification OAuth 2.0

Le Webservice nécessite une authentification de type OAuth 2.0. Cette authentification utilise un système de Token à durée limitée.

Generalités

Pour toutes connexions en OAuth 2.0 les paramètres suivants sont requis :

  • ID Client : identifiant de l'application. client_id . (obligatoire)
  • Code secret client : mot de passe. client_secret (obligatoire)
  • Url d'accès (Access Token) : cette URL sert à récupérer le Token que MyReport doit fournir dans l'URL d'accès aux données. MyReport rajoute à cette URL les informations récupérées après l'appel à l'URL d'authentification. URL de récupération des Tokens (nommée {URLToken}
  • Fréquence d'actualisation du Token (Refresh Token) : ces paramètres permettent d'avoir toujours un Token valide en appelant l'URL de récupération du Token régulièrement.

    Le Refresh Token est stocké dans la configuration du modèle, et est actualisé par le Serveur en fonction de la fréquence configurée en rappelant l' URL de récupération des Tokens.

Le Token d'accès (Access Token)

Cette procédure permet de récupérer l'AccessToken.

  1. {URLAuthentification}?response_type=code&redirect_uri={URLRetour}

    Récupération d'un code "code" {codeValue} basé sur un Login/Mot de passe demandé pendant la configuration de la connexion/modèle

  2. {URLToken}?redirect_uri={URLRetour}&grant_type=authorization_code&code={CodeValue}

    Récupération d'un RefreshToken "refresh_token" {RefreshTokenValue}

  3. {URLToken}?redirect_uri={URLRetour}&grant_type=refresh_token&refresh_token={RefreshTokenValue}

    Récupération d'un AccessToken "access_token" {AccessTokenValue}

Exploitation de l'AccessToken

  • MyReport appelle l'URL des données en ajoutant automatiquement le paramètre : access_token={AccessTokenValue}

  • Lors de l'ETL, on n'utilise que l' URL de récupération des Tokens pour avoir un nouveau AccessToken

OAuth Client Credential

La récupération d'un Token se fait à l'aide d'une URL de récupération de Token. Il n'y a pas de phase d'authentification (Login / mot de passe).

Le paramètre URL de retour (nommée {URLRetour} ou CallbackURL) est optionnel. Si besoin on peut le rajouter en paramètre supplémentaire du ConnexionString de la connexion.

Exemple :
En premier paramètre, Libellé : OAuthIncludeCallbackURL ; valeur : true
En deuxième paramètre,  Libellé : CallbackURL ; valeur : http://localhost:XXXX/callback
OAuth Authorization Code

2 URLs supplémentaires sont à configurer pour la mise en place d'une authentification avec le protocole OAuth 2.0 - Authorization Code:

  • URL de retour (nommée {URLRetour} ou CallbackURL)

  • URL d'authentification (nommée {URLAuthentification} )

Paramètres de fréquence d'actualisation du Token : Permet de sélectionner les jours de la semaine et la répétition hebdomadaire d'actualisation

Lors de la validation de la connexion en Authorization Code, la mire de validation apparaît.

Astuce

Des paramètres supplémentaires d'autorisation OAuth peuvent être passés dans l'onglet d'authentification.

Par exemple, pour passer le scope d'authentification directement dans la chaine de connexion, on aura pour syntaxe :

Libellé

Valeur

scope

basic email

ghostghostghostghostghost
loading table of contents...