API Authentication

Les mécanismes d’authentification sont partagés entre toutes les API DTZ. Ainsi, tous les mécanismes décrits ici sont disponibles pour toutes les API.

Les données d’authentification peuvent être transmises via les champs suivants :

  • jeton porteur (bearer token)
  • basé sur les cookies
  • clé API
  • authentification basique

Authentification

L’authentification est gérée par le service d’identité DTZ.

OAuth 2.0 & OpenID Connect : Pour une intégration complète d’OAuth et OIDC, consultez le Guide OAuth détaillé dans la section Identité.

Scénarios possibles de connexion :

WebUI

https://identity.dtz.rocks/login/

Connexion DTZ Identity

Avec l’en-tête HTTP Apikey

Pour s’authentifier avec une clé API, la clé doit être passée dans le champ d’en-tête X-API-KEY.

Voici un exemple de commande curl :

curl -X GET "https://api.dtz.rocks/v1/me" -H "X-API-KEY: YOUR_API_KEY"

Avec l’en-tête HTTP Bearer Token

Pour s’authentifier avec un jeton porteur, le jeton doit être passé dans le champ d’en-tête Authorization: Bearer YOUR_BEARER_TOKEN.

Voici un exemple pour obtenir un jeton porteur :

> POST https://identity.dtz.rocks/api/2021-02-21/token/auth
> Content-Type: application/json
>
> {
>  "username": "user",
>  "password": "password"
> }

< {
<   "access_token": "eyJhb...",
<   "scope": "00000000-0000-0000-0000-000000000000",
<   "token_type": "Bearer",
<   "expires_in": 86400
< }

Voici un exemple d’utilisation du jeton porteur :

curl -X GET "https://identity.dtz.rocks/api/2021-02-21/me" -H "Authorization: Bearer {bearer token}"
> GET https://identity.dtz.rocks/api/2021-02-21/me
> Authorization: Bearer eyJhb...

< {
<   "roles": [ ]
< }

Avec l’en-tête HTTP Basic Auth

Voici un exemple de commande curl pour utiliser l’authentification basique afin d’accéder à l’API DTZ.

curl -X GET -u 'apikey:apikey-1234' "https://identity.dtz.rocks/api/2021-02-21/me"

En dernier recours, ou lorsque l’authentification porteur classique n’est pas disponible, le service accepte également les jetons porteurs via le schéma d’authentification basique.

curl -X GET -u 'bearer:{bearer-token}' "https://identity.dtz.rocks/api/2021-02-21/me"

L’utilisation du jeton JWT comme cookie est également autorisée. Le jeton doit être passé comme cookie avec le nom dtz-auth.

Avec un paramètre GET

Parfois, les fournisseurs tiers ne permettent pas de définir d’en-tête pour l’authentification. Dans ce cas, une clé API peut aussi être passée comme paramètre get avec le nom apiKey.