Authentification via les informations d’identification de l’API

Last modified: 20. septembre 2022

Méthodes d’authentification

Il existe trois méthodes d’authentification pour utiliser l’API :

  • Authentification facile du navigateur – pour les exportations, les fiches techniques, les liens d’images, la visualisation rapide par le navigateur, etc….
  • Authentification ITscope – nécessite une session de navigateur active sur https:/www.itscope.com et ne doit pas être utilisé par programme. Cette méthode peut être utilisée, par exemple, pour les liens profonds des participants autorisés à la plate-forme
  • Authentification programmatique via HTTP Basic Authentication – il s’agit de l’authentification par défaut avec username:password pour l’utilisation de l’API ITscope.
    Il y a ici 2 variantes différentes :
    • Accès personnel à l’API pour une utilisation individuelle de l’API. Cette variante est décrite dans la section suivante
    • Interfacer les systèmes des partenaires avec ITscope en mettant en œuvre la connectivité pour les clients communs. Nos partenaires d’interface reçoivent sur demande les instructions correspondantes dans le cadre de la mise en œuvre.

Accès personnel à l’API ITscope

Dans le profil de l’employé, les données d’accès à l’API ITscope peuvent être consultées. Ils sont nécessaires pour l’authentification de base username:password HTTP pour l’API ITscope.

Les données suivantes sont nécessaires :

  • Account-ID – comme nom d’utilisateur
  • API Key – comme mot de passe

C’est ce qui rend possible l’accès à l’API ITscope en premier lieu.

Si vous avez besoin d’une nouvelle clé API, vous pouvez la générer avec le bouton Nouvelle clé API. Ainsi, l’ancienne clé devient invalide !


Authentification programmatique via HTTP authentification de base

Pour l’authentification programmatique dans le code de développement, l’utilisateur Api (ID de compte) et le mot de passe API (clé API) doivent être spécifiés dans l’en-tête comme étant codés en Base64. Pour ce faire, utilisez un service tel que http://base64encode.org et utilisez-le pour encoder la chaîne username:password ‘<Account-ID>:<API Key>’. Le résultat de l’encodage doit ensuite être inclus dans l’en-tête Authorization:Basic HTTP. Si l’URL de l’API est saisie de manière interactive dans le navigateur, l’authentification est effectuée en utilisant les mécanismes par défaut du navigateur pour « Basic Auth ».

Exemple de pseudo-code pour une demande d’API :

Exemple de pseudocode pour un appel via l’API ITscope incluant un agent utilisateur d’en-tête HTTP obligatoire :

...

// URL API sans données d'accès, par exemple
string apiurl = "https://api.itscope.com/2.1/products/search/ean=0888462025737/standard.xml";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(apiurl);


//username:password combinaison, encodée en Base64
string credentials = <Account-ID>+ ":" + <API Key> ;
authorization = Convert.ToBase64String(Encoding.Default.GetBytes(credentials)); 
// Basic Authorization comme en-tête HTTP
request.Headers["Authorization"] = "Basic " + authorization;


// User Agent (agent utilisateur) sous la forme <applicationCompany>-<applicationName>-<applicationVersion> 
// par exemple MyCompany-MyApplication-4.0927
request.UserAgent = "MeineFirma-MeineAnwendung-4.0927"

// autre
request.Method = "GET"
request.KeepAlive = True
request.ContentType = "application/xml"
request.AllowAutoRedirect = True
...


Exemples d’authentification programmatique

Exemple de pseudo-code pour l’utilisation d’un client C# généré directement à partir du cadre Swagger de l’API ITscope, y compris l’agent utilisateur d’en-tête HTTP obligatoire :

...

Configuration config = new Configuration();

//username:password combinaison, encodée en Base64
string credentials= ApiClient.Base64Encode("<Account-ID>:<API Key>");


// Basic Authorization comme en-tête HTTP
config.AddDefaultHeader("Authorization", "Basic" + credentials);


// User Agent (agent utilisateur) sous la forme <applicationCompany>-<applicationName>-<applicationVersion> 
// par exemple MyCompany-MyApplication-4.0927
config.setUserAgent("MeineFirma-MeineAnwendung-4.0927");

// autre
ProductsApi pApi = new ProductsApi(config);

...


Exemple d’en-tête de pseudo-code pour un script PHP :

 ....

//username:password combinaison, encodée en Base64
// Basic Authorization comme en-tête HTTP
header('Authorization: Basic '. base64_encode("<Account-ID>:<API Key>"));


// User Agent (agent utilisateur) sous la forme <applicationCompany>-<applicationName>-<applicationVersion> 
// par exemple MyCompany-MyApplication-4.0927
header('UserAgent:MeineFirma-MeineAnwendung-4.0927');
....


Exemple d’en-tête de pseudo-code pour un script PHP avec curl :

....

//username:password n'est pas encodée en Base64 si l'option de curl CURLAUTH_BASIC est activée, 
//puis le curl effectue lui-même un encodage Bas64
$UserPWD ="<Account-ID>:<API Key>";

$url = "https://api.itscope.com/2.1/products/search/ean=".$ean."/standard.xml";
$UserAgent = $_SERVER['HTTP_USER_AGENT'];
    
$options = array(CURLOPT_URL  => $url,                
                 CURLOPT_HEADER  => true,
                 CURLOPT_USERAGENT => $UserAgent,
                 CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
                 CURLOPT_USERPWD => $UserPWD);
$ch = curl_init();
curl_setopt_array($ch, $options);
$data = curl_exec($ch);    
....


Authentification simple par navigateur

La façon la plus simple d’appeler l’exportation via le navigateur, via wget ou dans le planificateur de tâches de Windows etc. est de passer l’authentification directement dans l’URL (l’utilisateur doit toujours avoir l’entrée dans le champ Account-ID, voir ci-dessus !)

Note : cette méthode ne fonctionne pas dans Internet Explorer.
Un exemple de recherche dans le navigateur pour une exportation :

https://<Account-Id>:<API Key>@api.itscope.com/2.1/products/exports/<EXPORT-ID>


Si vous ne spécifiez ni le nom d’utilisateur <accoundId> ni le mot de passe <API-Key> lors de la récupération de l’URL, l’authentification est effectuée en utilisant le mécanisme par défaut du navigateur pour « Basic Auth » et vous êtes invité à fournir des informations d’identification dans une fenêtre séparée.

ITscope-Authentification

Ce type d’authentification est principalement destiné aux liens profonds dans la plate-forme et nécessite une session active dans ITscope. Si une telle session n’existe pas, la page de connexion est référencée. À cette fin, le paramètre d’interrogation « auth » avec la valeur « itscope » est ajouté à l’URL de l’API. Un appel ressemble alors à ceci :

https://api.itscope.com/2.1/products/ean/0886111583935/deeplink.html?auth=itscope

Was this article helpful?
Dislike 0
Views: 133