Italiano
  • auth
  • integration
  • oauth
  • oidc
  • identity

Ottimizza l'autenticazione OAuth e OIDC con Logto

La nostra comunità ha espresso interesse nell'utilizzo di Logto come Identity Provider per alcuni prodotti, come i plugin Outline o ChatGPT. In teoria, Logto può fungere da provider OAuth o OIDC (OpenID Connect) a patto che il prodotto che si desidera integrare supporti uno di questi protocolli.

Gao
Gao
Founder

Logto è una soluzione di identità facile da usare che offre tutte le funzionalità necessarie. Supporta vari metodi di accesso come nomi utente, email, numeri di telefono e popolari accessi social come Google e GitHub. Che tu sia un individuo o un'azienda di qualsiasi dimensione, Logto fornisce la perfetta soluzione di Customer Identity and Access Management (CIAM) adatta alle esigenze specifiche del tuo progetto.

Introduzione

La nostra comunità ha espresso interesse nell'utilizzo di Logto come Identity Provider per alcuni prodotti, come i plugin Outline o ChatGPT. In teoria, Logto può fungere da provider OAuth 2.0 (OAuth) o OpenID Connect (OIDC) a patto che il prodotto che si desidera integrare supporti uno di questi protocolli.

In questo articolo, offriamo un tutorial generale per le integrazioni OAuth o OIDC utilizzando Logto come Identity Provider. Inoltre, forniamo tutorial dedicati per integrazioni specifiche, inclusi:

Sebbene alcuni dettagli possano variare tra i prodotti, la configurazione fondamentale rimane generica. Se hai domande o hai bisogno di ulteriore assistenza, ti invitiamo a unirti al nostro server Discord per ulteriori discussioni.

Iniziamo!

Prerequisiti

Prima di iniziare, assicurati di avere quanto segue:

  • Un'istanza Logto operativa o l'accesso a un account Logto Cloud.
  • Un prodotto che supporti un provider di identità OAuth o OIDC di terze parti (indicato come "il prodotto").

Configura Logto

Se stai ospitando Logto autonomamente, fai riferimento alla documentazione "Inizia" di Logto per configurare la tua istanza Logto.

Apri Logto Console accedendo all'URL https://cloud.logto.io/ se stai utilizzando Logto Cloud, o usa l'endpoint che hai configurato per l'hosting autonomo.

Crea applicazione

Vai alla scheda "Applications" e clicca su "Create application".

La scheda "Applications" di Logto Console

Nella finestra modale che appare, scegli "Traditional Web" e fornisci un nome per l'applicazione, come "My App". Clicca su "Create application".

La finestra modale "Create application" mostra diversi tipi di applicazione

Verrai indirizzato a una pagina di tutorial in Logto. Clicca su "Skip" nell'angolo in alto a destra per avanzare alla pagina dei dettagli dell'applicazione.

Una pagina di dettagli dell'applicazione

Configura Redirect URI

Nella sezione "Redirect URIs", inserisci il valore fornito nella documentazione del prodotto. Di solito, è dinamico in base alla tua configurazione ID o endpoint nel prodotto. Ad esempio, nei plugin ChatGPT, il Redirect URI è:

https://chat.openai.com/aip/[your-plugin-id]/oauth/callback

Se il tuo plugin ID è foo123, il valore dovrebbe essere:

https://chat.openai.com/aip/foo123/oauth/callback

La sezione di configurazione "Redirect URIs"

Alternativamente, potrebbe essere riferito come "Redirect URL," "Callback URI," o "Callback URL."

Opzionale: Assicurati che Logto emetta il Refresh Token

Alcuni prodotti potrebbero richiedere un Refresh Token quando inviano richieste di scambio token a Logto. Per OAuth, devi solo assicurarti che lo scope offline_access sia incluso. Secondo il protocollo OIDC, per impostazione predefinita, il prodotto deve anche aggiungere il parametro di ricerca prompt=consent nella richiesta iniziale di autorizzazione per il flusso Authorization Code; altrimenti non verrà emesso alcun Refresh Token.

Se il prodotto usa OAuth o non aggiunge il parametro prompt=consent o lo scope offline_access ma richiede un Refresh Token (ad esempio, i plugin ChatGPT), scorri fino alla sezione "Advanced settings" ed abilita "Always issue Refresh Token."

L'opzione "Always issue Refresh Token" toggle

Fatto!

Clicca sul pulsante "Save Changes" in fondo. Tieni aperta questa pagina poiché sarà utile per ulteriori configurazioni.

La barra delle azioni mostra un pulsante "Save Changes"

Configura il prodotto

Segui i passaggi indicati nella documentazione del prodotto per la configurazione OAuth o OIDC.

Configurazione di base

La maggior parte dei valori di configurazione richiesti possono essere trovati nella pagina dei dettagli dell'applicazione Logto. Alcuni nomi potrebbero avere alias, quindi fai riferimento alla tabella sotto per riferimento:

Nome LogtoAliasUso
App IDApplication ID, Client ID
App SecretApplication Secret, Client Secret
Redirect URIRedirect URL, Callback URI, Callback URLReindirizzamento post-sign-in
Post Sign-out Redirect URIsPost Sign-out Redirect URL, Post Logout (Redirect) URI, Post Logout (Redirect) URLReindirizzamento post-sign-out
Authorization EndpointAuthorization URI, Authorization URL, Auth Endpoint, Auth URL, Auth URIAutenticazione iniziale
Token EndpointToken URL, Token URIRichiesta di rilascio token
Userinfo EndpointUserinfo URL, Userinfo URI, User Info Endpoint, User Info URL, User Info URIOttieni informazioni utente

Per i prodotti moderni, un "discovery endpoint" potrebbe essere sufficiente. In tali casi, sostituisci auth con .well-known/openid-configuration nell'Authorization Endpoint. Ad esempio, se l'Authorization Endpoint è https://default.logto.app/oidc/auth, l'endpoint di discovery sarebbe https://default.logto.app/oidc/.well-known/openid-configuration.

Opzionale: Configurazione degli scope

Se il prodotto supporta OIDC o richiede che venga emesso un ID Token, aggiungi openid profile alla configurazione degli scope. Consulta la tabella degli scope-claim sotto:

ClaimTipoScope Richiesto
substringopenid
namestringprofile
usernamestringprofile
picturestringprofile
emailstringemail
email_verifiedbooleanemail
phone_numberstringphone
phone_number_verifiedbooleanphone

Punto di controllo: Testa l'integrazione con Logto

Clicca sul pulsante di accesso nel prodotto, verrai indirizzato all'esperienza di accesso di Logto.

Esperienza di accesso Logto

Se tutto è configurato correttamente, una volta completato il processo di accesso o registrazione in Logto, verrai reindirizzato di nuovo al prodotto senza errori.

E questo conclude la nostra guida sull'ottimizzazione dell'autenticazione OAuth e OIDC con Logto. Se riscontri problemi durante l'integrazione, non esitare a contattarci via email a [email protected] o unirti al nostro server Discord!

Ulteriori letture