Token d'accès à Carto-SI

Génération du Token d'API

Tout script a besoin d'un token d'API pour pouvoir se connecter à Carto-SI.

Les tokens sont créés dans la section API de la page Administration.

Liste des tokens

Sur l'illustration, le tenant est default et le token est eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0ZW5hbnRJZCI6ImRlZmF1bHQiLCJpc3MiOiJhdXRoMCIsImFjdGlvbiI6W10sImV4cCI6MzMyNzI3NjYwMzgsImxvZ2luIjoiYXBpIn0.wEwtFt7QkTbda7qajHiVW5rydAbKMWMOYfrju9pvS6w

Intégration du token dans une requête HTTP

Le token et le tenant sont transférés dans l'entête Authorization en respectant le format suivant où TOKEN est la valeur du token et TENANT la valeur du tenant :

Code(text)
Bearer {"token":"TOKEN","myTenant":{"id":"TENANT"}}

Avec les données de l'exemple, cela donne :

Code(text)
Bearer {"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0ZW5hbnRJZCI6ImRlZmF1bHQiLCJpc3MiOiJhdXRoMCIsImFjdGlvbiI6W10sImV4cCI6MzMyNzI3NjYwMzgsImxvZ2luIjoiYXBpIn0.wEwtFt7QkTbda7qajHiVW5rydAbKMWMOYfrju9pvS6w","myTenant":{"id":"default"}}

Si le token n'est pas reconnu, l'API répondra avec un statut HTTP 401.

Exemple de script

Les scripts suivants se contentent de faire un appel à http://localhost:1080/api/v2/application/ en s'identifiant avec un token d'API.

Script sous Unix

Code
#!/bin/bash

# remplacez la valeur exemple ci-dessous par celle de votre token
TOKEN='eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0ZW5hbnRJZCI6ImRlZmF1bHQiLCJpc3MiOiJhdXRoMCIsImFjdGlvbiI6W10sImV4cCI6MzMyNzI3NjYwMzgsImxvZ2luIjoiYXBpIn0.wEwtFt7QkTbda7qajHiVW5rydAbKMWMOYfrju9pvS6w'

# remplacez la valeur exemple ci-dessous par celle de votre tenant
TENANT='default'

# remplacez la valeur exemple ci-dessous par celle de votre host
HOST='http://localhost:1080'

API="/api/v2/application/"

URLAPI=${HOST}${API}

echo TOKEN = $TOKEN
echo TENANT = $TENANT
echo URLAPI = $URLAPI

echo ""
echo "---"

curl "$URLAPI" -H 'Authorization: Bearer {"token":"'"$TOKEN"'","myTenant":{"id":"'"$TENANT"'"}}'

echo ""
echo "---"

Script python

Code
#! /usr/bin/env python3

# remplacez la valeur exemple ci-dessous par celle de votre token
TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0ZW5hbnRJZCI6ImRlZmF1bHQiLCJpc3MiOiJhdXRoMCIsImFjdGlvbiI6W10sImV4cCI6MzMyNzI3NjYwMzgsImxvZ2luIjoiYXBpIn0.wEwtFt7QkTbda7qajHiVW5rydAbKMWMOYfrju9pvS6w'

# remplacez la valeur exemple ci-dessous par celle de votre tenant
TENANT = 'default'

# remplacez la valeur exemple ci-dessous par celle de votre host
HOST = 'http://localhost:1080'

print("TOKEN = %s" % TOKEN)
print("TENANT = %s" % TENANT)
print("HOST = %s" % HOST)

#############################################################################
import requests
import sys

headers = {
    "Authorization": 'Bearer {"token":"%s","myTenant":{"id":"%s"}}' % (TOKEN, TENANT)
}

URLAPI = HOST + "/api/v2/application"

rep = requests.get(URLAPI, headers=headers)
if rep.status_code != 200:
    print("Erreur %d : %s" % (rep.status_code, rep.text))
    sys.exit(1)

for activity in rep.json():
    print("- " + activity["label"])

Script sous Windows

Code
@echo off

rem remplacez la valeur exemple ci-dessous par celle de votre token
set TOKEN="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0ZW5hbnRJZCI6ImRlZmF1bHQiLCJpc3MiOiJhdXRoMCIsImFjdGlvbiI6W10sImV4cCI6MzMyNzI3NjYwMzgsImxvZ2luIjoiYXBpIn0.wEwtFt7QkTbda7qajHiVW5rydAbKMWMOYfrju9pvS6w"

rem remplacez la valeur exemple ci-dessous par celle de votre tenant
set TENANT="default"

rem remplacez la valeur exemple ci-dessous par celle de votre host
set HOST="http://localhost:1080"


echo TOKEN = %TOKEN%
echo TENANT = %TENANT%
echo HOST= %HOST%

rem exemple of upload file
curl -H "Authorization: Bearer {\"token\":\"%TOKEN%\", \"myTenant\":{\"id\":\"%TENANT%\"}}" "%HOST%/api/v2/application/"
Last modified on