{"id":899,"date":"2023-06-30T13:17:46","date_gmt":"2023-06-30T13:17:46","guid":{"rendered":"https:\/\/doc.bim.fm\/index.php\/docs\/multi-api\/authentification-2\/"},"modified":"2023-06-30T13:20:29","modified_gmt":"2023-06-30T13:20:29","slug":"authentification-2","status":"publish","type":"docs","link":"https:\/\/doc.bim.fm\/index.php\/docs\/api-2\/authentification-2\/","title":{"rendered":"Authentification"},"content":{"rendered":"\n<p>La plupart des API web devraient mettre en \u0153uvre un syst\u00e8me d&#8217;authentification bas\u00e9 sur un jeton. L&#8217;authentification par jeton est sans \u00e9tat et con\u00e7ue pour \u00eatre \u00e9volutive. Dans un syst\u00e8me d&#8217;authentification par jeton, le client doit d&#8217;abord s&#8217;authentifier aupr\u00e8s du fournisseur d&#8217;authentification. En cas de succ\u00e8s, le client re\u00e7oit un jeton, qui est simplement une cha\u00eene de caract\u00e8res 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 \u00e0 une API, il ajoute ce jeton en tant qu&#8217;en-t\u00eate de la demande. Le serveur valide alors le jeton figurant dans l&#8217;en-t\u00eate de la demande avant d&#8217;ex\u00e9cuter cette derni\u00e8re.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"1906\" height=\"946\" src=\"https:\/\/doc.bim.fm\/wp-content\/uploads\/2021\/12\/Image1-2.png\" alt=\"\" class=\"wp-image-671\"\/><\/figure>\n\n\n\n<p>Pour effectuer la majorit\u00e9 des appels d&#8217;API \u00e0 l&#8217;aide du paquet nugget, vous devez \u00eatre connect\u00e9.<\/p>\n\n\n\n<p><br>Explication :<br>Tout d&#8217;abord, vous devez d\u00e9finir un objet BimfmApi qui est l&#8217;objet principal de notre package nugget.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>BimfmApi bimfmapi = new BimfmApi();<\/code><\/pre>\n\n\n\n<p>Vous l&#8217;utiliserez par la suite pour tout :<\/p>\n\n\n\n<ul><li>D\u00e9finir le projet communautaire que vous souhaitez cibler<\/li><li>Se connecter \u00e0 la plateforme<\/li><li>Utilisez tous les appels API sur le projet, Bcf, Quickshare et plus encore !<\/li><\/ul>\n\n\n\n<p>Continuons, nous pouvons d\u00e9finir notre serveur cible EC Project comme suit :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bimfmapi.mHttpRqs.BimFmUrl = \"https:\/\/dev.edifycad.com\/api\";<\/code><\/pre>\n\n\n\n<p>Il ne nous reste plus qu&#8217;\u00e0 nous connecter :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ResponseApi&lt;Tokens&gt; myTokenRqs = bimfmapi.token(\n    new Login() {\n        username = id,\n        password = password,\n        grant_type = \"password\",\n        scope = \"openid offline_access\"\n    });<\/code><\/pre>\n\n\n\n<p>Vous pouvez facilement v\u00e9rifier si la requ\u00eate s&#8217;est bien d\u00e9roul\u00e9e avec une simple v\u00e9rification du statut de la classe ResponseApi :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>if(myTokenRqs.Status == 200)\n{\n   Tokens myToken = myTokenRqs.Result;\n}<\/code><\/pre>\n\n\n\n<h2>Exemple complet d&#8217;API C#<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Login to the server\nBimfmApi bimfmapi = new BimfmApi();\nbimfmapi.mHttpRqs.BimFmUrl = \"https:\/\/dev.edifycad.com\/api\";\nResponseApi&lt;Tokens&gt; myTokenRqs = bimfmapi.token(\n    new Login() {\n        username = id,\n        password = password,\n        grant_type = \"password\",\n        scope = \"openid offline_access\"\n    });\n\nif(myTokenRqs.Status == 200)\n{\n   Tokens myToken = myTokenRqs.Result;\n}<\/code><\/pre>\n","protected":false},"featured_media":0,"parent":788,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","doc_tag":[],"_links":{"self":[{"href":"https:\/\/doc.bim.fm\/index.php\/wp-json\/wp\/v2\/docs\/899"}],"collection":[{"href":"https:\/\/doc.bim.fm\/index.php\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/doc.bim.fm\/index.php\/wp-json\/wp\/v2\/types\/docs"}],"replies":[{"embeddable":true,"href":"https:\/\/doc.bim.fm\/index.php\/wp-json\/wp\/v2\/comments?post=899"}],"version-history":[{"count":1,"href":"https:\/\/doc.bim.fm\/index.php\/wp-json\/wp\/v2\/docs\/899\/revisions"}],"predecessor-version":[{"id":913,"href":"https:\/\/doc.bim.fm\/index.php\/wp-json\/wp\/v2\/docs\/899\/revisions\/913"}],"up":[{"embeddable":true,"href":"https:\/\/doc.bim.fm\/index.php\/wp-json\/wp\/v2\/docs\/788"}],"next":[{"title":"Verrouiller le fichier","link":"https:\/\/doc.bim.fm\/index.php\/docs\/api-2\/verrouiller-le-fichier-2\/","href":"https:\/\/doc.bim.fm\/index.php\/wp-json\/wp\/v2\/docs\/900"}],"wp:attachment":[{"href":"https:\/\/doc.bim.fm\/index.php\/wp-json\/wp\/v2\/media?parent=899"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/doc.bim.fm\/index.php\/wp-json\/wp\/v2\/doc_tag?post=899"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}