{"id":29426,"date":"2023-07-04T14:40:08","date_gmt":"2023-07-04T18:40:08","guid":{"rendered":"https:\/\/helpnkprod.wpenginepowered.com\/non-classifiee\/360060182352-utiliser-oauth-2-0\/"},"modified":"2026-03-23T10:45:30","modified_gmt":"2026-03-23T14:45:30","slug":"360060182352-utiliser-oauth-2-0","status":"publish","type":"post","link":"https:\/\/konekt.help.newforma.com\/fr\/4408494681869-integrations-et-api\/360008491831-api\/360060182352-utiliser-oauth-2-0\/","title":{"rendered":"Utiliser OAuth 2.0"},"content":{"rendered":"<p>En utilisant l\u2019API de Newforma Konekt ou le BCF REST API, votre application acc\u00e8dera aux points de terminaison au nom d\u2019un utilisateur de Newforma Konekt. Les utilisateurs devront s\u2019authentifier aupr\u00e8s de Newforma Konekt afin de confirmer leur identit\u00e9 et de donner \u00e0 votre application la permission d\u2019acc\u00e9der aux donn\u00e9es et d\u2019effectuer des actions en leur nom.<\/p>\n<p>Newforma Konekt utilise le protocole OAuth 2.0 pour permettre aux applications tierces d\u2019acc\u00e9der aux donn\u00e9es. OAuth 2.0 est une norme ouverte de d\u00e9l\u00e9gation d\u2019acc\u00e8s, couramment utilis\u00e9e comme un moyen pour les internautes d\u2019accorder \u00e0 des sites Web ou \u00e0 des applications l\u2019acc\u00e8s \u00e0 leurs informations sur d\u2019autres sites web, mais sans leur donner les mots de passe. Ce m\u00e9canisme est utilis\u00e9 par les entreprises pour permettre aux utilisateurs de partager des informations sur leurs comptes avec des applications ou des sites Web tiers.<\/p>\n<p><span class=\"wysiwyg-color-black10\">Devenez un partenaire Newforma Konekt et commencez \u00e0 utiliser OAuth en remplissant <a href=\"https:\/\/form.asana.com\/?k=rxaEYoJ_fWtWKHRejWLjcQ&amp;d=37284448572146\" target=\"_blank\" rel=\"noopener noreferrer\">ce formulaire<\/a>.<\/span><\/p>\n<p><strong>Resources utiles<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">Si vous avez besoin de plus d\u2019informations sur le protocole lui-m\u00ea<\/span><\/p>\n<p><span style=\"font-weight: 400;\">me, vous pouvez consulter la sp\u00e9cification officielle ici : <a href=\"https:\/\/tools.ietf.org\/html\/rfc6749\">RFC 6749 \u2013 The OAuth 2.0 Authorization Framework<\/a>. Vous pouvez mettre la main sur le livre <a href=\"https:\/\/oauth2simplified.com\/\">OAuth 2.0 Simplified<\/a> d\u2019Aaron Parecki. Vous pouvez \u00e9galement consulter ces autres ressources <a href=\"https:\/\/mailchimp.com\/developer\/guides\/how-to-use-oauth2\/\">How to Use OAuth2<\/a>, <a href=\"https:\/\/github.com\/googlesamples\/oauth-apps-for-windows\/tree\/master\/OAuthDesktopApp\">Google Sample OAuth Desktop App Sample<\/a> and <a href=\"https:\/\/github.com\/googlesamples\/oauth-apps-for-windows\">OAuth 2.0 for Mobile &amp; Desktop Apps<\/a> pour des impl\u00e9mentations plus d\u00e9taill\u00e9es.<\/span><\/p>\n<h2 id=\"-roles-oauth\"><span style=\"font-weight: 400;\">R\u00f4les OAuth<\/span><\/h2>\n<p>Les diff\u00e9rents r\u00f4les OAuth sont :<\/p>\n<table style=\"border-collapse: collapse; width: 100%;\" border=\"1\">\n<tbody>\n<tr>\n<td style=\"width: 34.5714%;\">Entit\u00e9<\/td>\n<td style=\"width: 65.4286%;\">R\u00f4le<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 34.5714%;\"><span style=\"font-weight: 400;\">Application<\/span><\/td>\n<td style=\"width: 65.4286%;\"><span style=\"font-weight: 400;\">Il s\u2019agit d\u2019une application web ou de bureau charg\u00e9e d\u2019effectuer des appels d\u2019API.<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 34.5714%;\"><span style=\"font-weight: 400;\">Authentication server<\/span><\/td>\n<td style=\"width: 65.4286%;\"><span style=\"font-weight: 400;\">Le serveur d\u2019authentification Newforma Konekt est responsable de l\u2019authentification d\u2019un utilisateur (connexion de l\u2019utilisateur).<br \/>\n<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 34.5714%;\"><span style=\"font-weight: 400;\">Authorization server<\/span><\/td>\n<td style=\"width: 65.4286%;\"><span style=\"font-weight: 400;\">Le serveur d\u2019autorisation Newforma Konekt est charg\u00e9 d\u2019autoriser une application \u00e0 acc\u00e9der aux API Newforma Konekt et BCF au nom des utilisateurs.<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 34.5714%;\">User<\/td>\n<td style=\"width: 65.4286%;\"><span style=\"font-weight: 400;\">Il s\u2019agit d\u2019un utilisateur typique de Newforma Konekt.<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 34.5714%;\"><span style=\"font-weight: 400;\">Newforma Konekt server<\/span><\/td>\n<td style=\"width: 65.4286%;\">Il expose les points de terminaison de l\u2019API Newforma Konekt et de l\u2019API BCF.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 34.5714%;\"><span style=\"font-weight: 400;\">Protected resource<\/span><\/td>\n<td style=\"width: 65.4286%;\"><span style=\"font-weight: 400;\">Une ressource retourn\u00e9e ou modifi\u00e9e par les points de terminaison de l\u2019API.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-size: 1.5em;\">D\u00e9finitions<\/span><\/p>\n<p>Voici quelques d\u00e9finitions pour vous guider.<\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><strong>Client ID<\/strong><span style=\"font-weight: 400;\">: Il s\u2019agit un identifiant unique public qui identifie l\u2019application interagissant avec le serveur d\u2019autorisation.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><strong>Client secret<\/strong><span style=\"font-weight: 400;\">: Il s\u2019agit d\u2019un code priv\u00e9 fourni avec le client ID, qui agit comme un mot de passe. Il doit \u00eatre stock\u00e9 de mani\u00e8re s\u00e9curis\u00e9e car il n\u2019est connu que par l\u2019application et le serveur d\u2019autorisation.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><strong>Authorization code<\/strong><span style=\"font-weight: 400;\">: Il s\u2019agit d\u2019un code, utilis\u00e9 une seule fois, pour effectuer une demande de jeton d\u2019acc\u00e8s.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><strong>Acces token<\/strong><span style=\"font-weight: 400;\">: Il s\u2019agit d\u2019un code utilis\u00e9 pour effectuer des requ\u00eates API au nom d\u2019un utilisateur.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><strong>Refresh token<\/strong><span style=\"font-weight: 400;\">: Il s\u2019agit d\u2019un code utilis\u00e9 pour demander un nouveau jeton d\u2019acc\u00e8s lorsque le pr\u00e9c\u00e9dent a expir\u00e9.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><strong>PKCE<\/strong><span style=\"font-weight: 400;\">: Il s\u2019agit d\u2019un acronyme signifiant Proof Key for Code Exchange (cl\u00e9 de v\u00e9rification pour l\u2019\u00e9change de code). Il offre un moyen plus s\u00fbr d\u2019obtenir des jetons d\u2019acc\u00e8s et emp\u00eache ainsi les attaquants de les obtenir. Il int\u00e8gre un v\u00e9rificateur de code et un challenge dans le processus d\u2019autorisation pour renforcer la s\u00e9curit\u00e9.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><strong>Code verifier<\/strong><span style=\"font-weight: 400;\">: Il s\u2019agit d\u2019une cha\u00eene cryptographique al\u00e9atoire utilis\u00e9e par le serveur d\u2019autorisation pour corr\u00e9ler la demande de jeton d\u2019acc\u00e8s avec une demande d\u2019autorisation effectu\u00e9e pr\u00e9c\u00e9demment.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>Transformation or code challenge method<\/strong>: Il indique l\u2019algorithme appliqu\u00e9 sur le v\u00e9rificateur de code pour obtenir le code challenge.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><strong>Code challenge<\/strong><span style=\"font-weight: 400;\">: Il s\u2019agit d\u2019un challenge d\u00e9riv\u00e9 du v\u00e9rificateur de code (en utilisant une m\u00e9thode de transformation).<\/span><\/li>\n<\/ul>\n<h2 id=\"1-proof-key-for-code-exchange-pkce\"><span style=\"font-weight: 400;\">Proof Key for Code Exchange (PKCE)<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Il existe deux types de flux de code d\u2019autorisation : standard et PKCE am\u00e9lior\u00e9. Lorsque des applications natives et monopages demandent des jetons d\u2019acc\u00e8s, certains probl\u00e8mes de s\u00e9curit\u00e9 se posent et ils ne sont pas couverts par le seul flux de code d\u2019autorisation standard. <strong>Newforma Konekt ne met en \u0153uvre que le flux de code d\u2019autorisation PKCE am\u00e9lior\u00e9.<\/strong><\/span><\/p>\n<p><span style=\"font-weight: 400;\">OAuth 2.0 fournit une version du flux de code d\u2019autorisation qui utilise Proof Key for Code Exchange (PKCE) dont les sp\u00e9cifications peuvent \u00eatre trouv\u00e9es ici : <a href=\"https:\/\/datatracker.ietf.org\/doc\/html\/rfc7636\" target=\"_blank\" rel=\"noopener noreferrer\">OAuth 2.0 RFC 7636<\/a>.<\/span><\/p>\n<h2 id=\"2-processus-dautorisation\">Processus d\u2019autorisation<\/h2>\n<p><span style=\"font-weight: 400;\">Pour d\u00e9buter, suivez ces instructions.<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Vous devez fournir le nom de votre application \u00e0 l\u2019\u00e9quipe de Newforma Konekt. Ce nom sera pr\u00e9sent\u00e9 \u00e0 l\u2019utilisateur sur la page d\u2019authentification.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\">Pendant le flux de code d\u2019autorisation, le serveur d\u2019autorisation a besoin d\u2019un URI de redirection pour rediriger l\u2019utilisateur lorsque l\u2019authentification est termin\u00e9e. L\u2019URI est fourni par votre application qui attend une demande du serveur. Il s\u2019agit d\u2019un URI form\u00e9 comme le suivant http:\/\/127.0.0.1:port. Si vous avez besoin de quelque chose de diff\u00e9rent pour des besoins ou des contraintes sp\u00e9ciales, vous devez nous fournir l\u2019URI dont vous avez besoin pour ajouter le support dans le serveur d\u2019autorisation.<\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">L\u2019\u00e9quipe de Newforma Konekt vous fournira alors le client ID et le client secret.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Lorsqu\u2019applicable, il est fortement recommand\u00e9 de stocker le client secret dans un espace crypt\u00e9 s\u00e9curis\u00e9. Pour les applications Web, il est recommand\u00e9 d\u2019utiliser le stockage backend. Pour les applications de bureau, il est recommand\u00e9 d\u2019utiliser un stockage crypt\u00e9 ou d\u2019utiliser un proxy service sur un backend (si applicable).<\/span><\/li>\n<\/ol>\n<p>Le serveur d\u2019autorisation est situ\u00e9 ici : <a href=\"https:\/\/auth.bimtrackapp.co\">https:\/\/auth.bimtrackapp.co<\/a>.<\/p>\n<p>Les points de terminaison de l\u2019API Newforma Konekt sont situ\u00e9s ici : <a href=\"https:\/\/api.bimtrackapp.co\">https:\/\/api.bimtrackapp.co<\/a>. La documentation est disponible ici : <a href=\"https:\/\/bimtrackapis.readme.io\/docs\">https:\/\/bimtrackapis.readme.io\/docs<\/a>.<\/p>\n<p>Les points finaux de l\u2019API BCF sont situ\u00e9s ici : <a href=\"https:\/\/bcfrestapi.bimtrackapp.co\">https:\/\/bcfrestapi.bimtrackapp.co<\/a>. La documentation peut \u00eatre trouv\u00e9e ici : <a href=\"https:\/\/bcfrestapi.bimtrackapp.co\/swagger\/index\">https:\/\/bcfrestapi.bimtrackapp.co\/swagger\/index<\/a>.<\/p>\n<p>N.B. : Il n\u2019est pas recommand\u00e9 d\u2019appeler les API REST Newforma Konekt et BCF dans une application client Javascript (ex\u00e9cut\u00e9e dans le navigateur). Nous vous sugg\u00e9rons fortement de mettre en \u0153uvre un proxy service sur le backend pour effectuer les appels d\u2019API.<\/p>\n<h2 id=\"3-pkce-enhanced-authorization-code-flow\"><span style=\"font-weight: 400;\">PKCE Enhanced Authorization Code Flow<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Voici une description des \u00e9tapes permettant d\u2019acqu\u00e9rir le jeton d\u2019acc\u00e8s pour effectuer des appels aux API :<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>\u00c9tape 1.<\/strong> L\u2019utilisateur clique sur le bouton <strong>Connexion<\/strong><\/span><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>\u00c9tape 2.<\/strong> L\u2019application envoie la demande d\u2019autorisation au point de terminaison du serveur d\u2019autorisation.\u00a0<\/span><\/p>\n<p><strong>Cr\u00e9er le v\u00e9rificateur de code<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">Un v\u00e9rificateur de code est une cha\u00eene al\u00e9atoire cryptographique \u00e0 haute entropie utilisant les caract\u00e8res non r\u00e9serv\u00e9s [A-Z] \/ [a-z] \/ [0-9] \/ \u00ab\u00a0\u2013\u00a0\u00bb \/ \u00ab\u00a0.\u00a0\u00bb. \/ \u00ab\u00a0_\u00a0\u00bb \/ \u00ab\u00a0~\u00a0\u00bb, avec une longueur minimale de 43 caract\u00e8res et une longueur maximale de 128 caract\u00e8res.<\/span><\/p>\n<p>Le v\u00e9rificateur de code doit avoir une entropie suffisante pour qu\u2019il soit impossible de deviner la valeur.<\/p>\n<p><strong>Cr\u00e9er le code challenge<\/strong><\/p>\n<p>Deux m\u00e9thodes de cr\u00e9ation du code challenge sont support\u00e9es.<\/p>\n<table style=\"border-collapse: collapse; width: 100%;\" border=\"1\">\n<tbody>\n<tr>\n<td style=\"width: 100%;\" colspan=\"2\">M\u00e9thodes de g\u00e9n\u00e9ration du code challenge<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 24.4286%;\"><span style=\"font-weight: 400;\">S256<\/span><\/td>\n<td style=\"width: 75.5714%;\"><span style=\"font-weight: 400;\">Le code challenge est le hachage SHA256 cod\u00e9 en Base64URL (sans padding) du v\u00e9rificateur de code.<br \/>\n<\/span><\/p>\n<p><span style=\"font-weight: 400;\">code_challenge = BASE64URL-ENCODE(SHA256(ASCII(code_verifier)))<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-weight: 400;\">Pour obtenir l\u2019autorisation de l\u2019utilisateur, envoyez une demande au serveur d\u2019autorisation \u00e0 l\u2019adresse suivante : <\/span><a href=\"https:\/\/auth.bimtrackapp.co\/\/connect\/authorize\"><span style=\"font-weight: 400;\">https:\/\/auth.bimtrackapp.co\/\/connect\/authorize<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<table style=\"border-collapse: collapse; width: 100%; height: 176px;\" border=\"1\">\n<tbody>\n<tr style=\"height: 22px;\">\n<td style=\"width: 50%; height: 22px;\" colspan=\"2\">Param\u00e8tres<\/td>\n<\/tr>\n<tr style=\"height: 22px;\">\n<td style=\"width: 50%; height: 22px;\"><span style=\"font-weight: 400;\">client_id<\/span><\/td>\n<td style=\"width: 50%; height: 22px;\"><span style=\"font-weight: 400;\">Requis<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le client ID pour votre application<\/span><\/td>\n<\/tr>\n<tr style=\"height: 22px;\">\n<td style=\"width: 50%; height: 22px;\"><span style=\"font-weight: 400;\">redirect_uri<\/span><\/td>\n<td style=\"width: 50%; height: 22px;\"><span style=\"font-weight: 400;\">Requis<\/span><\/p>\n<p>Utilis\u00e9 par le serveur d\u2019autorisation pour rediriger l\u2019utilisateur lorsque l\u2019authentification est termin\u00e9e. Votre application attendra une demande du serveur d\u2019autorisation.<\/p>\n<p>Si cette valeur ne correspond pas \u00e0 un URI autoris\u00e9, vous obtiendrez une erreur invalid redirect_uri.<\/p>\n<p>http:\/\/127.0.0.1:<strong>port<\/strong><\/p>\n<p>Recherchez l\u2019adresse IP <span style=\"font-weight: 400;\">loopback<\/span> pertinente sur votre plateforme et d\u00e9marrez un HTTP listener sur un port disponible al\u00e9atoire. Remplacez le port par le num\u00e9ro de <strong>port<\/strong> r\u00e9el sur lequel votre application \u00e9coute.<\/td>\n<\/tr>\n<tr style=\"height: 22px;\">\n<td style=\"width: 50%; height: 22px;\"><span style=\"font-weight: 400;\">response_type<\/span><\/td>\n<td style=\"width: 50%; height: 22px;\"><span style=\"font-weight: 400;\">Requis<\/span><\/p>\n<p><span style=\"font-weight: 400;\">D\u00e9finit la valeur du param\u00e8tre sur code pour les applications install\u00e9es.<\/span><\/td>\n<\/tr>\n<tr style=\"height: 22px;\">\n<td style=\"width: 50%; height: 22px;\"><span style=\"font-weight: 400;\">scope<\/span><\/td>\n<td style=\"width: 50%; height: 22px;\"><span style=\"font-weight: 400;\">Requis<\/span><\/p>\n<p>Une liste de scopes d\u00e9limit\u00e9e par des espaces qui identifie les ressources auxquelles votre application peut acc\u00e9der au nom de l\u2019utilisateur. Les valeurs prises en charge sont les suivantes :<\/p>\n<p><em>BIMTrack_Api<\/em> : pour acc\u00e9der aux points de terminaison de l\u2019API Newforma Konekt.<\/p>\n<p><em>BcfWebApi<\/em> : pour acc\u00e9der aux points de terminaison de l\u2019API BCF.<\/p>\n<p data-start=\"0\" data-end=\"83\">FileManagement_Api : pour acc\u00e9der aux points de terminaison de l\u2019API File Manager<\/p>\n<p data-start=\"85\" data-end=\"173\">DocumentControl_Api : pour acc\u00e9der aux points de terminaison de l\u2019API Document Control<\/p>\n<p data-start=\"175\" data-end=\"296\" data-is-last-node=\"\" data-is-only-node=\"\">PIMTrack_Api : pour acc\u00e9der aux points de terminaison de l\u2019API PIM (e-mails, soumissions, RFIs, demandes de modification)<\/p>\n<p><em>offline_access<\/em> : pour demander un jeton de rafra\u00eechissement.<\/p>\n<p><em>openid<\/em> : ce champ est obligatoire. Il indique que l\u2019application a l\u2019intention d\u2019utiliser OIDC pour v\u00e9rifier l\u2019identit\u00e9 de l\u2019utilisateur.<\/td>\n<\/tr>\n<tr style=\"height: 22px;\">\n<td style=\"width: 50%; height: 22px;\">c<span style=\"font-weight: 400;\">ode_challenge<\/span><\/td>\n<td style=\"width: 50%; height: 22px;\"><span style=\"font-weight: 400;\">Recommand\u00e9<\/span><\/p>\n<p>La valeur code_challenge calcul\u00e9e ci-dessus.<\/td>\n<\/tr>\n<tr style=\"height: 22px;\">\n<td style=\"width: 50%; height: 22px;\"><span style=\"font-weight: 400;\">code_challenge_method<\/span><\/td>\n<td style=\"width: 50%; height: 22px;\"><span style=\"font-weight: 400;\">Recommand\u00e9<\/span><\/p>\n<p><span style=\"font-weight: 400;\">La seule valeur prise en charge pour ce param\u00e8tre est S256<\/span><\/td>\n<\/tr>\n<tr style=\"height: 22px;\">\n<td style=\"width: 50%; height: 22px;\">state<\/td>\n<td style=\"width: 50%; height: 22px;\"><span style=\"font-weight: 400;\">Recommand\u00e9<\/span><\/p>\n<p>Sp\u00e9cifie toute valeur de cha\u00eene que votre application utilise pour maintenir l\u2019\u00e9tat entre votre demande d\u2019autorisation et la r\u00e9ponse du serveur d\u2019autorisation. Le serveur renvoie la valeur exacte que vous envoyez sous forme de paire nom=valeur.<\/p>\n<p>Vous pouvez valider la r\u00e9ponse pour vous assurer que la demande et la r\u00e9ponse proviennent du m\u00eame navigateur, ce qui vous prot\u00e8ge contre les attaques telles que la falsification des demandes intersites.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Exemple d\u2019URL de demande d\u2019autorisation<\/strong><\/p>\n<pre>https:\/\/auth.bimtrackapp.co\/connect\/authorize?\n\nresponse_type=code&amp;\n\nscope=BIMTrack_Api%20openid&amp;\n\nredirect_uri=http%3A%2F%2F127.0.0.1%3A18215&amp;\n\nclient_id=your_client_id&amp;\n\nstate=-XGJum969rPJU3NUmzwYUuyrGR7S098u_SQMuxcu1WY&amp;\n\ncode_challenge=v0jvOB_WGqP349D-ahfv7V5-ANvZfV7gMai1x-Obsj0&amp;\n\ncode_challenge_method=S256<\/pre>\n<p><span style=\"font-weight: 400;\"><strong>\u00c9tape 3.<\/strong> L\u2019utilisateur est redirig\u00e9 vers la page du serveur d\u2019authentification pour entrer ses informations d\u2019identification.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>\u00c9tape 4.<\/strong> L\u2019utilisateur saisit ses informations d\u2019identification, clique sur le bouton Connexion et donne son consentement \u00e0 l\u2019application.<br \/>\n<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>\u00c9tape 5.<\/strong> <\/span><span style=\"font-weight: 400;\">Une fois autoris\u00e9, le serveur d\u2019autorisation redirige l\u2019utilisateur vers le <em>redirect_uri<\/em> et renvoie un code d\u2019autorisation \u00e0 l\u2019application.<br \/>\n<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>\u00c9tape 6.<\/strong> L\u2019application envoie la demande de jeton d\u2019acc\u00e8s.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Pour \u00e9changer un code d\u2019autorisation contre un jeton d\u2019acc\u00e8s, appelez le point de terminaison\u00a0 <\/span><a href=\"https:\/\/auth.bimtrackapp.co\/connect\/token\"><span style=\"font-weight: 400;\">https:\/\/auth.bimtrackapp.co\/connect\/token<\/span><\/a><span style=\"font-weight: 400;\"> et d\u00e9finissez les param\u00e8tres suivants :<\/span><\/p>\n<table style=\"border-collapse: collapse; width: 100%; height: 321px;\" border=\"1\">\n<tbody>\n<tr style=\"height: 22px;\">\n<td style=\"width: 50%; height: 22px;\" colspan=\"2\">Champs<\/td>\n<\/tr>\n<tr style=\"height: 51px;\">\n<td style=\"width: 50%; height: 51px;\"><span style=\"font-weight: 400;\">client_id<\/span><\/td>\n<td style=\"width: 50%; height: 51px;\"><span style=\"font-weight: 400;\">Requis<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le client ID pour votre application.<\/span><\/td>\n<\/tr>\n<tr style=\"height: 51px;\">\n<td style=\"width: 50%; height: 51px;\"><span style=\"font-weight: 400;\">client_secret<\/span><\/td>\n<td style=\"width: 50%; height: 51px;\"><span style=\"font-weight: 400;\">Requis<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le <\/span><span style=\"font-weight: 400;\">client secret calcul\u00e9 pr\u00e9c\u00e9demment.<\/span><\/td>\n<\/tr>\n<tr style=\"height: 51px;\">\n<td style=\"width: 50%; height: 51px;\"><span style=\"font-weight: 400;\">code<\/span><\/td>\n<td style=\"width: 50%; height: 51px;\"><span style=\"font-weight: 400;\">Requis<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le code d\u2019autorisation re\u00e7u \u00e0 l\u2019\u00e9tape 5.<\/span><\/td>\n<\/tr>\n<tr style=\"height: 51px;\">\n<td style=\"width: 50%; height: 51px;\"><span style=\"font-weight: 400;\">code_verifier<\/span><\/td>\n<td style=\"width: 50%; height: 51px;\"><span style=\"font-weight: 400;\">Requis<\/span><\/p>\n<p><span style=\"font-weight: 400;\">La valeur du v\u00e9rificateur de code cr\u00e9\u00e9e pr\u00e9c\u00e9demment.<\/span><\/td>\n<\/tr>\n<tr style=\"height: 44px;\">\n<td style=\"width: 50%; height: 44px;\"><span style=\"font-weight: 400;\">grant_type<\/span><\/td>\n<td style=\"width: 50%; height: 44px;\">Requis<span style=\"font-weight: 400;\">La valeur de authorization_code<\/span><span style=\"font-weight: 400;\">.<\/span><\/td>\n<\/tr>\n<tr style=\"height: 51px;\">\n<td style=\"width: 50%; height: 51px;\"><span style=\"font-weight: 400;\">redirect_uri<\/span><\/td>\n<td style=\"width: 50%; height: 51px;\"><span style=\"font-weight: 400;\">Requis<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le m\u00eame URI de redirection que dans l\u2019\u00e9tape 2.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Exemple d\u2019URL de demande de jeton d\u2019acc\u00e8s<\/strong><\/p>\n<pre>POST \/connect\/token HTTP\/1.1\n\nHost: https:\/\/auth.bimtrackapp.co\n\nContent-Type: application\/x-www-form-urlencoded\n\ncode=4f46b8cc568bf2426263e6ebcc5300b3ba5da7e84ac829c826635bdce8bd2196&amp;\n\nclient_id=your_client_id&amp;\n\nclient_secret=your_client_secret&amp;\n\nredirect_uri=http%3A%2F%2F127.0.0.1%3A18215&amp;\n\ngrant_type=authorization_code<\/pre>\n<p><span style=\"font-weight: 400;\"><strong>\u00c9tape 7.<\/strong>\u00a0<\/span><span style=\"font-weight: 400;\">Le serveur d\u2019autorisation r\u00e9pond en envoyant les jetons d\u2019acc\u00e8s. Si la port\u00e9e offline_access a \u00e9t\u00e9 fournie pr\u00e9c\u00e9demment, la r\u00e9ponse contiendra \u00e9galement un jeton de rafra\u00eechissement. Ce jeton est utilis\u00e9 par votre application pour rafra\u00eechir votre jeton d\u2019acc\u00e8s lorsqu\u2019il expire. Les jetons d\u2019acc\u00e8s ont une dur\u00e9e de vie de 2 heures. Si applicable, il est fortement recommand\u00e9 de stocker le ou les jetons d\u2019acc\u00e8s et de rafra\u00eechissement dans un espace de stockage crypt\u00e9 s\u00e9curis\u00e9. Pour les applications Web, il est recommand\u00e9 d\u2019utiliser le stockage backend. Pour les applications de bureau, nous recommandons d\u2019utiliser un stockage crypt\u00e9 (lorsqu\u2019il n\u2019y a pas de backend disponible).<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>\u00c9tape 8.<\/strong> L\u2019application peut maintenant faire des appels aux points de terminaison de l\u2019API en utilisant le jeton d\u2019acc\u00e8s.<\/span><\/p>\n<p><strong>Exemple d\u2019URL de demande d\u2019API<\/strong><\/p>\n<pre>GET \/v3\/hubs HTTP\/1.1\n\nHost: https:\/\/api.bimtrackapp.co\n\nAuthorization: bearer access_token<\/pre>\n<p><span style=\"font-weight: 400;\"><strong>\u00c9tape 9.<\/strong> Le serveur Newforma Konekt r\u00e9pond en renvoyant la ressource prot\u00e9g\u00e9e demand\u00e9e.<br \/>\n<\/span><\/p>\n<p>Le stockage s\u00e9curis\u00e9 des jetons d\u2019acc\u00e8s et de rafra\u00eechissement permet la r\u00e9utilisation ult\u00e9rieure de la m\u00eame session. Cela am\u00e9liore l\u2019exp\u00e9rience de l\u2019utilisateur en supprimant le besoin de se r\u00e9-authentifier \u00e0 chaque fois que l\u2019application est red\u00e9marr\u00e9e.<\/p>\n<p>N.B. : Tous les d\u00e9tails concernant le contenu des demandes et des r\u00e9ponses se trouvent dans les liens OAuth 2.0 fournis en haut de cette section.<\/p>\n<p>Les biblioth\u00e8ques suivantes peuvent \u00eatre utilis\u00e9es pour de nombreuses interactions avec les points de terminaison d\u00e9finis OpenID Connect et OAuth :<\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/identitymodel.readthedocs.io\/en\/latest\/index.html\"><span style=\"font-weight: 400;\">https:\/\/identitymodel.readthedocs.io\/en\/latest\/index.html<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/openid.net\/developers\/certified\/\"><span style=\"font-weight: 400;\">https:\/\/openid.net\/developers\/certified\/<\/span><\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>En utilisant l\u2019API de Newforma Konekt ou le BCF REST API, votre application acc\u00e8dera aux points de terminaison au nom d\u2019un utilisateur de Newforma Konekt. Les utilisateurs devront s\u2019authentifier aupr\u00e8s de Newforma Konekt afin de confirmer leur identit\u00e9 et de donner \u00e0 votre application la permission d\u2019acc\u00e9der aux donn\u00e9es et d\u2019effectuer des actions en leur [&hellip;]<\/p>\n","protected":false},"author":24,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_autodraft_ids":[],"_lmt_disableupdate":"","_lmt_disable":"","_sb_is_suggestion_mode":false,"_sb_show_suggestion_boards":false,"_sb_show_comment_boards":false,"_sb_suggestion_history":"","_sb_update_block_changes":"","_is_real_time_mode":false,"_realtime_collaborators":"","footnotes":"","cf_checklist_status":["External Links","Alt Text for All Images","Category Assigned"]},"categories":[468],"tags":[],"class_list":["post-29426","post","type-post","status-publish","format-standard","hentry","category-360008491831-api"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Utiliser OAuth 2.0 - Newforma Konekt Help<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/konekt.help.newforma.com\/fr\/4408494681869-integrations-et-api\/360008491831-api\/360060182352-utiliser-oauth-2-0\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Utiliser OAuth 2.0 - Newforma Konekt Help\" \/>\n<meta property=\"og:description\" content=\"En utilisant l\u2019API de Newforma Konekt ou le BCF REST API, votre application acc\u00e8dera aux points de terminaison au nom d\u2019un utilisateur de Newforma Konekt. Les utilisateurs devront s\u2019authentifier aupr\u00e8s de Newforma Konekt afin de confirmer leur identit\u00e9 et de donner \u00e0 votre application la permission d\u2019acc\u00e9der aux donn\u00e9es et d\u2019effectuer des actions en leur [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/konekt.help.newforma.com\/fr\/4408494681869-integrations-et-api\/360008491831-api\/360060182352-utiliser-oauth-2-0\/\" \/>\n<meta property=\"og:site_name\" content=\"Newforma Konekt Help\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-04T18:40:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-23T14:45:30+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\\\/\\\/konekt.help.newforma.com\\\/fr\\\/4408494681869-integrations-et-api\\\/360008491831-api\\\/360060182352-utiliser-oauth-2-0\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/konekt.help.newforma.com\\\/fr\\\/4408494681869-integrations-et-api\\\/360008491831-api\\\/360060182352-utiliser-oauth-2-0\\\/\"},\"headline\":\"Utiliser OAuth 2.0\",\"datePublished\":\"2023-07-04T18:40:08+00:00\",\"dateModified\":\"2026-03-23T14:45:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/konekt.help.newforma.com\\\/fr\\\/4408494681869-integrations-et-api\\\/360008491831-api\\\/360060182352-utiliser-oauth-2-0\\\/\"},\"wordCount\":2078,\"articleSection\":[\"API\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/konekt.help.newforma.com\\\/fr\\\/4408494681869-integrations-et-api\\\/360008491831-api\\\/360060182352-utiliser-oauth-2-0\\\/\",\"url\":\"https:\\\/\\\/konekt.help.newforma.com\\\/fr\\\/4408494681869-integrations-et-api\\\/360008491831-api\\\/360060182352-utiliser-oauth-2-0\\\/\",\"name\":\"Utiliser OAuth 2.0 - Newforma Konekt Help\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/konekt.help.newforma.com\\\/fr\\\/#website\"},\"datePublished\":\"2023-07-04T18:40:08+00:00\",\"dateModified\":\"2026-03-23T14:45:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/konekt.help.newforma.com\\\/fr\\\/4408494681869-integrations-et-api\\\/360008491831-api\\\/360060182352-utiliser-oauth-2-0\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/konekt.help.newforma.com\\\/fr\\\/4408494681869-integrations-et-api\\\/360008491831-api\\\/360060182352-utiliser-oauth-2-0\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/konekt.help.newforma.com\\\/fr\\\/4408494681869-integrations-et-api\\\/360008491831-api\\\/360060182352-utiliser-oauth-2-0\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/konekt.help.newforma.com\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Utiliser OAuth 2.0\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/konekt.help.newforma.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/konekt.help.newforma.com\\\/fr\\\/\",\"name\":\"Newforma Konekt Help\",\"description\":\"Newforma Help Center\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/konekt.help.newforma.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Utiliser OAuth 2.0 - Newforma Konekt Help","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/konekt.help.newforma.com\/fr\/4408494681869-integrations-et-api\/360008491831-api\/360060182352-utiliser-oauth-2-0\/","og_locale":"fr_FR","og_type":"article","og_title":"Utiliser OAuth 2.0 - Newforma Konekt Help","og_description":"En utilisant l\u2019API de Newforma Konekt ou le BCF REST API, votre application acc\u00e8dera aux points de terminaison au nom d\u2019un utilisateur de Newforma Konekt. Les utilisateurs devront s\u2019authentifier aupr\u00e8s de Newforma Konekt afin de confirmer leur identit\u00e9 et de donner \u00e0 votre application la permission d\u2019acc\u00e9der aux donn\u00e9es et d\u2019effectuer des actions en leur [&hellip;]","og_url":"https:\/\/konekt.help.newforma.com\/fr\/4408494681869-integrations-et-api\/360008491831-api\/360060182352-utiliser-oauth-2-0\/","og_site_name":"Newforma Konekt Help","article_published_time":"2023-07-04T18:40:08+00:00","article_modified_time":"2026-03-23T14:45:30+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/konekt.help.newforma.com\/fr\/4408494681869-integrations-et-api\/360008491831-api\/360060182352-utiliser-oauth-2-0\/#article","isPartOf":{"@id":"https:\/\/konekt.help.newforma.com\/fr\/4408494681869-integrations-et-api\/360008491831-api\/360060182352-utiliser-oauth-2-0\/"},"headline":"Utiliser OAuth 2.0","datePublished":"2023-07-04T18:40:08+00:00","dateModified":"2026-03-23T14:45:30+00:00","mainEntityOfPage":{"@id":"https:\/\/konekt.help.newforma.com\/fr\/4408494681869-integrations-et-api\/360008491831-api\/360060182352-utiliser-oauth-2-0\/"},"wordCount":2078,"articleSection":["API"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/konekt.help.newforma.com\/fr\/4408494681869-integrations-et-api\/360008491831-api\/360060182352-utiliser-oauth-2-0\/","url":"https:\/\/konekt.help.newforma.com\/fr\/4408494681869-integrations-et-api\/360008491831-api\/360060182352-utiliser-oauth-2-0\/","name":"Utiliser OAuth 2.0 - Newforma Konekt Help","isPartOf":{"@id":"https:\/\/konekt.help.newforma.com\/fr\/#website"},"datePublished":"2023-07-04T18:40:08+00:00","dateModified":"2026-03-23T14:45:30+00:00","breadcrumb":{"@id":"https:\/\/konekt.help.newforma.com\/fr\/4408494681869-integrations-et-api\/360008491831-api\/360060182352-utiliser-oauth-2-0\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/konekt.help.newforma.com\/fr\/4408494681869-integrations-et-api\/360008491831-api\/360060182352-utiliser-oauth-2-0\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/konekt.help.newforma.com\/fr\/4408494681869-integrations-et-api\/360008491831-api\/360060182352-utiliser-oauth-2-0\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/konekt.help.newforma.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Utiliser OAuth 2.0"}]},{"@type":"WebSite","@id":"https:\/\/konekt.help.newforma.com\/fr\/#website","url":"https:\/\/konekt.help.newforma.com\/fr\/","name":"Newforma Konekt Help","description":"Newforma Help Center","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/konekt.help.newforma.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"}]}},"modified_by":"Jason Gagnon","_links":{"self":[{"href":"https:\/\/konekt.help.newforma.com\/fr\/wp-json\/wp\/v2\/posts\/29426","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/konekt.help.newforma.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/konekt.help.newforma.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/konekt.help.newforma.com\/fr\/wp-json\/wp\/v2\/users\/24"}],"replies":[{"embeddable":true,"href":"https:\/\/konekt.help.newforma.com\/fr\/wp-json\/wp\/v2\/comments?post=29426"}],"version-history":[{"count":1,"href":"https:\/\/konekt.help.newforma.com\/fr\/wp-json\/wp\/v2\/posts\/29426\/revisions"}],"predecessor-version":[{"id":402988,"href":"https:\/\/konekt.help.newforma.com\/fr\/wp-json\/wp\/v2\/posts\/29426\/revisions\/402988"}],"wp:attachment":[{"href":"https:\/\/konekt.help.newforma.com\/fr\/wp-json\/wp\/v2\/media?parent=29426"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/konekt.help.newforma.com\/fr\/wp-json\/wp\/v2\/categories?post=29426"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/konekt.help.newforma.com\/fr\/wp-json\/wp\/v2\/tags?post=29426"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}