Comment s'authentifier à CommunityWebAPI.
CommunityWebAPI, un service Restful, nécessite une authentification par défaut pour empêcher l'accès non autorisé aux données derrière le service. Pour accéder à tout point d'entrée protégé, les clients doivent d'abord s'authentifier auprès du service API et soumettre un en-tête d'autorisation en utilisant le processus décrit. Tous les points d'entrée, à l'exception du vérificateur de version, sont protégés.
Authentification au service API
Pour s'authentifier, les clients doivent effectuer un appel POST à la méthode AuthenticateEx avec un seul paramètre “l” (lettre “L” minuscule) et une valeur de (nom d'utilisateur)|(mot de passe). C'est-à-dire, le nom de l'utilisateur séparé par une barre verticale du mot de passe de l'utilisateur.
La méthode AuthenticateEx validera l'identité et le mot de passe de l'utilisateur et chargera les informations de l'utilisateur si validé. Si les informations d'identification fournies ne sont pas valides, le service génère une exception et renvoie le message approprié au client.
En cas de succès, la méthode d'authentification effectue une connexion douce de l'utilisateur et récupère les informations pertinentes pour créer un jeton d'autorisation. Le service renvoie ce jeton d'autorisation et les attributs utilisateur requis supplémentaires au client via un objet JSON avec les attributs suivants.
Attributs de l'objet JSON :
agentId (int) est la clé primaire pour la ligne dans la table t_agent pour l'utilisateur spécifié
userRole (int) est l'identifiant de rôle associé à l'utilisateur (100 = agent, 200 = superviseur, 300 = planificateur, 400 = administrateur, 1000 = superutilisateur)
userName (string) est le nom complet (Nom de famille, Prénom Initiale du deuxième prénom) associé à l'utilisateur
timeZone (int) est le fuseau horaire associé à l'utilisateur; soit spécifiquement attribué à cet utilisateur ou par défaut à partir du site / activité d'entreprise attribué
language (string) n'est pas actuellement implémenté
authToken (string) est une chaîne cryptée / encodée qui fournit l'autorisation pour les appels futurs. Ceci est décrit ci-dessous.
Invocation de méthode ultérieure
Le client doit conserver la valeur du membre authToken et la fournir aux appels ultérieurs au service API dans un en-tête HTTP nommé “WFMSGAPIKEY” pour tout point d'entrée protégé (encore une fois, presque tous, donc il est plus sûr de simplement le mettre dans tous les appels sauf AuthenticateEx). De plus, le service API actualisera le jeton et le renverra chaque fois qu'un client invoque une méthode protégée. Les méthodes du service API placeront une nouvelle valeur dans un en-tête HTTP de réponse avec le même nom.
Remarque la durée de vie par défaut de tout jeton d'autorisation API est de 20 minutes.