1. Accueil
  2. Docs
  3. API
  4. Authentification

Authentification

Print

La plupart des API web devraient mettre en œuvre un système d’authentification basé sur un jeton. L’authentification par jeton est sans état et conçue pour être évolutive. Dans un système d’authentification par jeton, le client doit d’abord s’authentifier auprès du fournisseur d’authentification. En cas de succès, le client reçoit un jeton, qui est simplement une chaîne de caractères ayant une signification cryptographique. Le format le plus courant pour les jetons est le JSON Web Token, ou JWT. Lorsque le client doit ensuite envoyer une demande à une API, il ajoute ce jeton en tant qu’en-tête de la demande. Le serveur valide alors le jeton figurant dans l’en-tête de la demande avant d’exécuter cette dernière.

Pour effectuer la majorité des appels d’API à l’aide du paquet nugget, vous devez être connecté.


Explication :
Tout d’abord, vous devez définir un objet BimfmApi qui est l’objet principal de notre package nugget.

BimfmApi bimfmapi = new BimfmApi();

Vous l’utiliserez par la suite pour tout :

  • Définir le projet communautaire que vous souhaitez cibler
  • Se connecter à la plateforme
  • Utilisez tous les appels API sur le projet, Bcf, Quickshare et plus encore !

Continuons, nous pouvons définir notre serveur cible EC Project comme suit :

bimfmapi.mHttpRqs.BimFmUrl = "https://dev.edifycad.com/api";

Il ne nous reste plus qu’à nous connecter :

ResponseApi<Tokens> myTokenRqs = bimfmapi.token(
    new Login() {
        username = id,
        password = password,
        grant_type = "password",
        scope = "openid offline_access"
    });

Vous pouvez facilement vérifier si la requête s’est bien déroulée avec une simple vérification du statut de la classe ResponseApi :

if(myTokenRqs.Status == 200)
{
   Tokens myToken = myTokenRqs.Result;
}

Exemple complet d’API C#

// Login to the server
BimfmApi bimfmapi = new BimfmApi();
bimfmapi.mHttpRqs.BimFmUrl = "https://dev.edifycad.com/api";
ResponseApi<Tokens> myTokenRqs = bimfmapi.token(
    new Login() {
        username = id,
        password = password,
        grant_type = "password",
        scope = "openid offline_access"
    });

if(myTokenRqs.Status == 200)
{
   Tokens myToken = myTokenRqs.Result;
}