Hub sicuro per i dati degli utenti in movimento
Contrasta autenticazione e dati utente. Dettagli sull'archiviazione sicura di Logto e sul movimento. Descrive le migliori pratiche di flusso dati (mappature degli attributi, sincronizzazione dei dati, JWT personalizzati).
I metadati degli utenti sono il fulcro dei servizi di gestione dell'identità e degli accessi (IAM). Alimentano funzionalità del prodotto come l'analisi dei dati, esperienze personalizzate, monitoraggio della sicurezza e controllo degli accessi. Ma man mano che le applicazioni diventano più interconnesse tra piattaforme, organizzazioni e applicazioni, la gestione dei metadati degli utenti può diventare complessa. Non temere! Comprendendo il flusso dei dati degli utenti, puoi costruire un'esperienza di autenticazione fluida e sicura.
Dati di autenticazione vs. dati utente
Non tutti i dati utente sono creati uguali. I dati di autenticazione sono un sottoinsieme specifico scambiato durante l'emissione del token. Immagina un JWT (JSON Web Token) che viaggia nelle tue richieste HTTP. Un JWT di grandi dimensioni può rallentare le cose. Per mantenere tutto veloce e sicuro, includiamo solo le informazioni utente essenziali come identità, stato dell'account, dettagli di autenticazione, permessi e un profilo utente di base.
Qui a Logto ci concentriamo sull'archiviazione dei seguenti punti di dati di autenticazione:
- Stato dell'account: Traccia tempo di creazione, aggiornamenti, stato di sospensione e cronologia di accesso. Inclusi
create_at
,updated_at
,account_suspended
,last_ip
. - Informazioni di autenticazione: Questo include identificatori utente, fattori di autenticazione e dati correlati alla verifica. Inclusi
user_id
,password_digest
,password_algorithm
,username
,email
,email_verified
,phone
,phone_verified
,social_identities
,sso_identities
,mfa_config
,mfa_verification_factors
. - Informazioni di autorizzazione: Gestisci ruoli, permessi, appartenenze all'organizzazione e applicazioni e dispositivi autorizzati per un controllo degli accessi dettagliato. Inclusi
role
,permission
,organization_id
,organization_role
,organization_permission
,grant_application
,grant_device
. - Profilo utente standard: Questo è il profilo utente più comune registrato da OIDC. Logto lo imposta anche come metadato utente predefinito, memorizzato sotto lo spazio dei nomi 'profile.'. Inclusi
first_name
,last_name
,middle_name
,name
,nickname
,profile
,website
,avatar
,gender
,birthdate
,zoneinfo
,locale
,address
.
Oltre le basi: personalizzare i dati degli utenti con Logto
- Logto va oltre il profilo standard. La nostra API di gestione ti permette di definire dati personalizzati specifici per le esigenze della tua azienda. Questi dati sono memorizzati in modo sicuro sotto uno spazio dei nomi dedicato 'custom.data'. Ecco alcuni esempi:
occupation
,company_name
,company_size
.
Pensando fuori dalla cassaforte: dati API esterni con JWT personalizzato
- Alcuni dati aziendali potrebbero non necessitare di una memorizzazione permanente in Logto. La bellezza di JWT personalizzati è che puoi recuperare dinamicamente questi dati tramite chiamate API durante l'emissione del token, ampliando la portata dei tuoi dati utente. Ricorda, la sicurezza è fondamentale, quindi evita di includere informazioni sensibili nei JWT poiché sono facilmente analizzabili. Ecco alcuni casi:
subscribed_status
,last_path_visited
,app_theme
.
Il percorso dei dati utente: acquisizione e distribuzione
I dati utente provengono da varie fonti:
- Input utente: Durante la registrazione, l'onboarding o gli aggiornamenti del profilo all'interno della tua applicazione.
- Provider di identità (IdPs): Sincronizzati senza problemi durante i login social o SSO aziendale.
- Migrazioni di dati: Spostamento dei dati dai database esistenti.
- Intervento dell'amministratore: Modifiche manuali da parte dell'amministratore tramite la console o il database.
Una volta acquisiti questi dati preziosi, puoi condividerli in sicurezza:
- Concessione di permessi alle app di terze parti: Fornisci accesso controllato ai dati utente per le applicazioni autorizzate.
- Esportazione dei dati: Esporta i dati utente da Logto per ulteriori analisi.
- Consegna tramite JWT, webhook o API: Condividi i dati utente con i tuoi servizi interni per un'esperienza utente unificata.
In quanto centro di identità, Logto eccelle nel facilitare il flusso dei dati utenti. Rendiamo semplice acquisire informazioni sugli utenti da vari provider e consegnarle in modo sicuro alle parti autorizzate.
Punti chiave
Ora che comprendi il percorso dei dati utente, esploriamo alcune considerazioni chiave di progettazione:
- Mappatura degli attributi Assicurati una mappatura accurata degli attributi utente da diverse fonti per evitare silos di dati. Per le connessioni SAML, è richiesta la mappatura manuale. Quando utilizzi OIDC, sfrutta i claims standardizzati o crea spazi dei nomi unici per prevenire conflitti.
- Sincronizzazione dati IdP e RP La sincronizzazione dei dati tra gli IdP (provider di identità) e i RP (parti fidate) coinvolge tipicamente autorizzazione e richieste di ambito specifico su entrambi i lati. Presta attenzione allo stato di verifica. Una "Email verified=false" sincronizzata da un IdP come GitHub o Azure AD potrebbe non essere un'email verificata nel tuo sistema. Gestiscilo di conseguenza.
- Segregazione e sovrascrittura dei dati in una struttura multi-entità
In ambienti complessi con diverse organizzazioni, applicazioni e provider, la segregazione dei dati e il comportamento di sovrascrittura diventano cruciali.
- Multi-organizzazione: Un utente può appartenere a più organizzazioni. Distingui i dati utente archiviati sotto l'account utente dai dati specifici dell'organizzazione. Cambiamenti all'interno di un'organizzazione non dovrebbero influenzare le altre.
- Multi-app: Per le applicazioni che condividono un database degli utenti tramite Logto, implementa un modulo centralizzato per le impostazioni dell'account o del profilo nel tuo servizio.
- Multi-provider: Applicazioni con vari metodi di accesso ricevono diverse informazioni utente da ogni provider. In Logto, scegli di sincronizzare i dati durante la registrazione tramite login social o ad ogni accesso per SSO aziendale. Il login social è ideale per la sincronizzazione iniziale dei dati, mentre il SSO aziendale può sincronizzare le informazioni sui membri a ogni accesso per una gestione più semplice all'interno dell'IdP aziendale.
- Custom JWT per un accesso ai dati ampliato La potenza dei JWT personalizzati risiede nella loro capacità di recuperare informazioni esterne dinamicamente durante l'emissione del token tramite chiamate API. Ciò ti consente di accedere a punti dati che potrebbero non essere essenziali per la funzionalità principale ma possono arricchire l'esperienza utente. Ricorda, con grande flessibilità viene grande responsabilità. Poiché i JWT possono essere facilmente analizzati da chiunque li riceva, evita di includere dati sensibili.
- Registrazione progressiva per un flusso di onboarding più fluido Non sopraffare gli utenti con un modulo di registrazione lungo come un romanzo. Implementa la registrazione progressiva, una tecnica in cui richiedi solo le informazioni utente più critiche inizialmente. Questo semplifica il processo di iscrizione e mantiene gli utenti coinvolti. Man mano che gli utenti interagiscono con la tua applicazione, puoi gradualmente raccogliere ulteriori punti dati per costruire un profilo utente più ricco.
Seguendo queste migliori pratiche, puoi garantire un flusso fluido e sicuro dei dati degli utenti durante tutto il percorso di autenticazione.
Logto: Il tuo hub sicuro per i dati degli utenti in movimento
Gestire efficacemente i metadati degli utenti ti permette di personalizzare le esperienze utente, migliorare la sicurezza e ottenere preziosi insights sul comportamento degli utenti. Sfruttando la piattaforma sicura e flessibile di Logto, puoi sbloccare tutto il potenziale dei dati utente e ottenere un vantaggio competitivo nell'attuale panorama guidato dai dati.