Come aggiungere Login with Posty5 al tuo sito web o alla tua app

Fai accedere le persone al tuo sito con il loro account Posty5, come fanno con Google: OpenID Connect, una schermata di consenso e pacchetti pronti per Node.js e Angular.

ADPubblicità
Come aggiungere Login with Posty5 al tuo sito web o alla tua app

Ogni nuovo modulo di registrazione chiede alle persone l'ennesima password, e ogni password che conservi è una cosa in più da proteggere. Login with Posty5 permette alle persone di accedere al tuo sito web o alla tua app con l'account Posty5 che hanno già, proprio come sceglierebbero Accedi con Google.

Questo articolo spiega cosa vedono i tuoi utenti, cosa ottieni come sviluppatore e i quattro passaggi per aggiungerlo. Fa parte della piattaforma per sviluppatori di Posty5 descritta nella guida a chiavi API e SDK.

Che cos'è Login with Posty5

Posty5 ora è un provider OAuth 2.0 e OpenID Connect. Registri la tua app in Posty5 Studio, mandi gli utenti su Posty5 per accedere e ricevi un token di identità firmato che dice al tuo server chi sono. Il tuo sito non vede mai la loro password Posty5.

Poiché segue lo standard, funziona con i pacchetti Posty5 per Node.js e Angular e con qualsiasi libreria OpenID Connect certificata: ASP.NET Core, Python, PHP o Java. Registrare app e far accedere gli utenti non consuma crediti, con qualsiasi piano.

Cosa vedono i tuoi utenti

  • Un pulsante Login with Posty5 o Continua con Posty5 nella tua pagina di accesso.
  • La pagina di accesso di Posty5 stessa, se non hanno ancora effettuato l'accesso: la password si digita solo su posty5.com.
  • Una schermata di consenso con il nome, il logo, il sito web, l'informativa sulla privacy e i termini della tua app, una riga per ogni dato che richiedi, e i pulsanti Consenti e Annulla.
  • La loro scelta viene ricordata: l'accesso successivo passa direttamente. Possono rimuovere l'accesso della tua app in qualsiasi momento da Account e poi App collegate.

Il percorso completo dal lato dell'utente è in Che cos'è Login with Posty5 e i miei dati sono al sicuro?, che puoi collegare dalla tua pagina di accesso.

Cosa ottieni come sviluppatore

  • OpenID Connect standard: il flusso authorization code con PKCE obbligatorio a ogni accesso, e un documento di discovery da cui la maggior parte delle librerie si configura da sola.
  • Token di identità firmati (RS256) con nome, foto ed email dell'utente e l'indicazione se l'email è verificata, solo per gli scope che l'utente ha consentito.
  • Un ID utente privato per la tua app. Il sub è stabile per la tua app e diverso nelle app di altri sviluppatori, quindi le app non possono incrociare gli utenti tra loro.
  • @posty5/oauth per i back end Node.js, con link di accesso firmati che non richiedono un archivio di sessioni, e @posty5/oauth-angular, un pulsante Continua con Posty5 personalizzabile per Angular.
  • Accesso dal browser per le app solo front end: si attiva per singola app ed è accettato solo dalle origini del sito che indichi.
  • Una scheda Utenti per ogni app in Posty5 Studio, e una chiave API aggiunta all'app che legge lo stesso elenco dal tuo server.

Aggiungilo in quattro passaggi

  1. In Posty5 Studio apri Kit sviluppatori, poi App OAuth, e scegli Registra app. Inserisci il nome, il logo e i link che vedranno gli utenti, e il tuo indirizzo di ritorno come URI di reindirizzamento.
  2. Copia il client ID e il client secret nella configurazione del tuo server. Il secret viene mostrato una sola volta; potrai rigenerarlo in seguito.
  3. Installa @posty5/oauth e aggiungi due route: una che crea un link di accesso e manda l'utente su Posty5, e la tua route di ritorno, che verifica il risultato.
  4. Metti un pulsante Login with Posty5 nella tua pagina di accesso, accedi una volta tu stesso e collega i record dei tuoi utenti al sub che ricevi.
const link = await posty5.createLoginLink({ returnTo: "/account" });
res.cookie("p5_binding", link.binding, { httpOnly: true, secure: true, sameSite: "lax" });
res.redirect(link.url);

// on your redirect URI
const { claims, returnTo } = await posty5.handleLoginCallback(req.query, { binding: req.cookies.p5_binding });

Il link di accesso contiene il verifier PKCE, il nonce e il tuo indirizzo di ritorno dentro uno state sigillato, così il tuo server non conserva nulla tra le due richieste, e un cookie lega il link al browser che lo ha richiesto.

Registra la tua prima app OAuth

Crea l'app in Posty5 Studio, copia le sue credenziali e prova un accesso sul tuo sito.

Scegli come integrarlo

  • Un sito web con back end Node.js: usa @posty5/oauth. Il client secret resta sul tuo server.
  • Un'app Angular: usa il pulsante di @posty5/oauth-angular e lascia che sia il tuo back end a gestire l'accesso. Vedi come aggiungere un pulsante Continua con Posty5 in Angular.
  • Un'app statica senza back end: attiva l'accesso dal browser per l'app, indica le origini del tuo sito e usa la modalità browser del pacchetto Angular o qualsiasi client OpenID Connect che supporti PKCE.
  • Qualsiasi altro linguaggio: punta la tua libreria OpenID Connect a https://api.posty5.com con il tuo client ID e il tuo secret.

Limiti da conoscere prima di iniziare

  • Non ci sono refresh token. L'access token dura 1 ora, quindi mantieni una tua sessione dopo l'accesso.
  • L'accesso silenzioso (prompt=none) non è disponibile. Puoi forzare un nuovo accesso con prompt=login o max_age.
  • Login with Posty5 condivide solo l'identità: nome, foto ed email. Non dà alla tua app accesso ai contenuti Posty5 dell'utente.
  • Un account può registrare fino a 20 app OAuth, ognuna con fino a 10 URI di reindirizzamento esatti.

Domande frequenti

Login with Posty5 consuma crediti?

No. Registrare app OAuth e far accedere gli utenti non consuma crediti, con qualsiasi piano.

Quali dati può ricevere la mia app?

Solo ciò che l'utente consente: sempre un ID utente per la tua app, il nome e la foto del profilo con lo scope profile, e l'indirizzo email con il suo stato di verifica con lo scope email.

Posso usarlo senza back end?

Sì. Attiva l'accesso dal browser per l'app e indica le origini del tuo sito. Il browser scambia quindi il codice con PKCE e senza client secret. Se hai un back end, resta comunque il posto migliore per gestire l'accesso.

Perché l'ID utente è diverso nella mia altra app?

Il sub è pairwise: dipende dall'host del primo URI di reindirizzamento di ogni app, quindi le app di sviluppatori diversi non possono incrociare gli utenti. Le app registrate con lo stesso host ottengono lo stesso valore.

Posso vedere chi ha effettuato l'accesso alla mia app?

Sì. Ogni app ha una scheda Utenti in Posty5 Studio, e una chiave API aggiunta all'app legge lo stesso elenco dal tuo server, con solo ciò che ogni utente ha condiviso.

Cosa succede quando un utente rimuove l'accesso?

I tuoi access token per quell'utente smettono di funzionare, l'utente esce dal tuo elenco Utenti e al suo accesso successivo viene mostrata di nuovo la schermata di consenso. Il suo account sul tuo sito non viene toccato.

ADPubblicità