OAuth avec Thereforeâ„¢ |
Scroll |
Accorder le code d'autorisation
Locataire Nom du locataire Therefore (obligatoire)
id_client id client enregistré de l'application
uri_redirection Spécifiez la valeur définie dans OAuth.
Portées •Therefore_Lecture : accès en lecture seule •Therefore_Utilisateur : accès avec permissions utilisateur •accès_hors_ligne : demandez un jeton d'actualisation
type_réponse Spécifiez la valeur définie dans OAuth.
Exemple de requête d'obtention du jeton d'accès
POST https://oauth.thereforeonline.com/OAuth/Token?tenant=NTWare1 Autorisation : Basic <masqué> → clientid:clientsecret
Corps : code=<code_autor>&uri_redirection=<uri_redirection>&type_accord=code_autorisation
Réponse : { "jeton_accès": "<jeton>", "type_jeton": "bearer", "expire_dans": 1199, "jeton_actualisation": "<jeton>" }
Exemple de requête d'obtention d'un nouveau jeton d'accès avec jeton d'actualisation :
POST https://oauth.thereforeonline.com/OAuth/Token?tenant=NTWare1 Autorisation : Basic <masqué> → clientid:clientsecret
Corps : jeton_actualisation=<jeton_actualisation>&type_accord=jeton_actualisation
Réponse : { "jeton_accès": "<jeton>", "type_jeton": "bearer", "expire_dans": 1199, "jeton_actualisation": "<jeton>" }
Le jeton OAuth émis peut alors être utilisé en tant que jeton porteur (dans l'en-tête d'autorisation) pour toutes les requêtes Web API. Dans Therefore™, OAuth doit être activé et le client doit être ajouté en tant que client valide : Si l'application cliente n'est pas ajoutée ici, la connexion échoue même si le jeton est généralement valide. Cette méthode permet également révoquer facilement l'accès à Therefore™ pour une application spécifique.
Les jetons générés par OAuth permettent d'authentifier les utilisateurs pour Therefore™ dans Therefore™ Web Client, Portal, API et WebAPI.
Exemple (Web Client)Â : https://<serveur>/TWA/Client/Web/Viewer/Viewer.aspx?docno=349738&ssoToken=<jeton> https://<serveur>/TWA/Portal/Portal.aspx?qNo=123&ssoToken=<jeton>
Exemple d'APIÂ : string sToken = "<jeton>; string sNodeInternal, sNodeFriendly; TheServer s = new TheServer(); s.ConnectBearerToken(TheClientType.CustomApplication, sToken, "", "", "", true, TheConnectMode.NoLicenseMove, out sNodeInternal, out sNodeFriendly);
|
---|