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);
|
---|