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.
GaoFounder
Smetti di sprecare settimane sull'autenticazione degli utenti
Lancia app sicure più velocemente con Logto. Integra l'autenticazione degli utenti in pochi minuti e concentrati sul tuo prodotto principale.
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.
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.
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.
Vai alla scheda "Applications" e clicca su "Create application".
Nella finestra modale che appare, scegli "Traditional Web" e fornisci un nome per l'applicazione, come "My App". Clicca su "Create application".
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.
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 è:
Se il tuo plugin ID è foo123, il valore dovrebbe essere:
https://chat.openai.com/aip/foo123/oauth/callback
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."
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 Logto
Alias
Uso
App ID
Application ID, Client ID
App Secret
Application Secret, Client Secret
Redirect URI
Redirect URL, Callback URI, Callback URL
Reindirizzamento post-sign-in
Post Sign-out Redirect URIs
Post Sign-out Redirect URL, Post Logout (Redirect) URI, Post Logout (Redirect) URL
Reindirizzamento post-sign-out
Authorization Endpoint
Authorization URI, Authorization URL, Auth Endpoint, Auth URL, Auth URI
Autenticazione iniziale
Token Endpoint
Token URL, Token URI
Richiesta di rilascio token
Userinfo Endpoint
Userinfo URL, Userinfo URI, User Info Endpoint, User Info URL, User Info URI
Ottieni 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.
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:
Claim
Tipo
Scope Richiesto
sub
string
openid
name
string
profile
username
string
profile
picture
string
profile
email
string
email
email_verified
boolean
email
phone_number
string
phone
phone_number_verified
boolean
phone
Punto di controllo: Testa l'integrazione con Logto#
Clicca sul pulsante di accesso nel prodotto, verrai indirizzato all'esperienza di accesso di 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!