| 
		   OAuth con Thereforeâ„¢  | 
		Scroll | 
 Concessione codice di autorizzazione https://oauth.thereforeonline.com/OAuth/Authorize?tenant=<tenant_name>&client_id=<client_id>&redirect_uri=https%3A%2F%2Foauth2testclient.azurewebsites.net%2F&state=HrjWnIN_kte4ZheGPJWTBQ&scope=Therefore_User%20offline_access&response_type=code 
 Locatario Nome locatario Therefore (obbligatorio) 
 client_id ID client registrato dell'applicazione 
 redirect_uri Stato definito nella specifica OAuth 
 Ambiti •Therefore_Read – accesso in sola lettura •Therefore_User – accesso con autorizzazioni utente •offline_access – richiesta di un token di aggiornamento 
 response_type Stato definito nella specifica OAuth 
 
 Esempio di richiesta per ottenere il token di accesso 
 POST https://oauth.thereforeonline.com/OAuth/Token?tenant=NTWare1 Autorizzazione: Basic <hidden> → clientid:clientsecret 
 Corpo: code=<auth_code>&redirect_uri=<redirect_uri>&grant_type=authorization_code 
 Risposta: { "access_token": "<token>", "token_type": "bearer", "expires_in": 1199, "refresh_token": "<token>" } 
 Esempio di richiesta di un nuovo token di accesso con token di aggiornamento: 
 POST https://oauth.thereforeonline.com/OAuth/Token?tenant=NTWare1 Autorizzazione: Basic <hidden> → clientid:clientsecret 
 Corpo: refresh_token=<refresh_token>&grant_type=refresh_token 
 Risposta: { "access_token": "<token>", "token_type": "bearer", "expires_in": 1199, "refresh_token": "<token>" } 
 Il token OAuth generato può essere quindi utilizzato come token Bearer (nell'intestazione Auth) per tutte le richieste Web API. In Therefore™, OAuth deve essere abilitato e il client deve essere aggiunto come client valido: 
 Se l'applicazione client non viene aggiunta qui, la connessione non riuscirà anche se il token è valido. È anche un modo semplice per revocare l'accesso a Therefore™ a un'applicazione specifica. 
 I token generati da OAuth possono essere utilizzati per autenticare gli utenti in Thereforeâ„¢ Web Client, Portal, API, WebAPI. 
 
 
 Esempio (Web Client): https://<server>/TWA/Client/Web/Viewer/Viewer.aspx?docno=349738&ssoToken=<token> https://<server>/TWA/Portal/Portal.aspx?qNo=123&ssoToken=<token> 
 API di esempio: string sToken = "<token>; string sNodeInternal, sNodeFriendly; TheServer s = new TheServer(); s.ConnectBearerToken(TheClientType.CustomApplication, sToken, "", "", "", true, TheConnectMode.NoLicenseMove, out sNodeInternal, out sNodeFriendly); 
  | 
|---|