Documentation

Utilisation du responder Oauth2

Oauth2 permet, en plus authentifier les utilisateurs, de gérer les autorisations qui leurs sont accordées.

Pour obtenir un token d’authentification il faut avoir au préalable mis en place une application s’appuyant sur l’entrepôt sur lequel les utilisateurs souhaitent s’authentifier. Pour cela dans l’onglet Oauth2 des entrepôts d’authentification, on peut spécifier les colonnes ou les champs liés à vos différents utilisateurs pour les associer aux tokens d’authentifications:

Capture du 2016-02-25 11:26:25

  • Get Oauth2 scopes from these columns : Noms des colonnes pour lesquelles on souhaite renvoyer les champs.
  • Form of returned values : La mise en forme des autorisations.
  • Place of returned token : La place du token d’autorisation dans la réponse HTML.
  • Token time to live : La durée de vie d’un token.

Si “Enable OAuth2 scopes…” n’est pas activé. Il sera toujours possible d’obtenir des jetons OAuth2, mais aucun attribut ne sera renvoyé.

Obtention du token :

Il faut envoyer une requête de type POST à l’URL suivante: http://<IP du Listenner>/<Public token name>/portal/oauth2/login:<Port du listenner>

Public token name” est trouvable dans l’onglet Services de votre interface d’administration. Plus d’infos ici

La requête doit contenir ces données: {"username" : <L'utilisateur à authentifier>, "password" : <Son mot de passe>, "app_id" : <l'identificateur de l'application>}

TLS doit être utilisé pour transmettre ces informations.

Si l’authentification est valide, une réponse sera envoyée avec un token d’authentification. Ce token est directement lié à l’utilisateur précédemment authentifié.

Ce token peut être envoyer dans les headers de la réponse et/ou sous la forme d’une structure JSON (cette option est configurable dans l’onglet Oauth2 de l’entrepôt).

Pour connaître les droits associés à ce token :

Il faut envoyer une requête de type POST

http://<IP du Listenner>/<Public token name>/portal/oauth2/token:<Port du listenner>

OU sous la forme d’un GET avec le token dans les headers.

OU sous la forme d’un POST avec le token dans les données avec comme clé “token”.

TLS doit être utilisé pour transmettre ces informations.

Si ce token est valide, une réponse sera envoyée sous la forme d’une structure JSON contenant :

La clé “active” = true, si le token est valide. (La durée de vie de ce dernier est configurable dans l’onglet Oauth2 de l’entrepôt d’authentification).

La clé “scopes” = les autorisations liés à ce dernier.