Aggiornamenti del prodotto Logto (agosto 2024)
Scopri la nostra release di agosto 2024, che include l'impersonificazione dell'utente, la gestione dei segreti delle applicazioni, la personalizzazione dell'esperienza di accesso a livello di organizzazione e applicazione, e molto altro ancora.
Impersonificazione dell'utente (RFC 8693: Scambio di Token OAuth 2.0)
Aggiunto supporto per l'impersonificazione dell'utente tramite Scambio di Token:
- Nuovo endpoint Management API
POST /subject-tokens
per richiedere unsubject_token
per l'uso dello scambio di token. - Aggiornato l'endpoint OIDC
POST /oidc/token
con un nuovo tipo di granturn:ietf:params:oauth:grant-type:token-exchange
per scambiare unsubject_token
con unaccess_token
impersonificato dell'utente.
Consulta Impersonificazione dell'utente per ulteriori dettagli.
custom_data
a livello di applicazione
Aggiunto un nuovo campo oggetto arbitrario custom_data
alle applicazioni. Questo campo può memorizzare qualsiasi informazione aggiuntiva non definita nello schema standard Application
.
Clicca per espandere gli aggiornamenti della Management API
- Nuovo endpoint
PATCH /api/applications/{applicationId}/custom-data
per aggiornare il campocustom_data
di un'applicazione. - Aggiornato l'endpoint
PATCH /api/applications/{applicationId}
per permettere la sovrascrittura del campocustom_data
.
Clicca per espandere gli aggiornamenti del Panel
Aggiunto un nuovo editor di dati JSON personalizzati alla pagina dei dettagli dell'applicazione (tranne per le App Protette).
Gestione di più segreti delle applicazioni
Le app sicure (machine-to-machine, web tradizionali, Protette) possono ora avere più segreti con data di scadenza. Questo consente la rotazione dei segreti e fornisce un'esperienza ancora più sicura.
Nota: Il segreto legacy creato prima di questa funzione può ancora essere utilizzato per l'autenticazione del client. Tuttavia, si consiglia di eliminare quelli vecchi e creare nuovi segreti con scadenza per una maggiore sicurezza.
Clicca per espandere gli aggiornamenti della Management API
GET /api/applications/{applicationId}/secrets
: Elenca tutti i segreti di un'applicazione.POST /api/applications/{applicationId}/secrets
: Crea un nuovo segreto per un'applicazione.DELETE /api/applications/{applicationId}/secrets/{name}
: Elimina un segreto di un'applicazione per nome.PATCH /api/applications/{applicationId}/secrets/{name}
: Aggiorna un segreto di un'applicazione per nome.DELETE /api/applications/{applicationId}/legacy-secret
: Elimina il segreto legacy di un'applicazione e sostituiscilo con uno nuovo.
Clicca per espandere gli aggiornamenti del Panel
Per gestire i segreti delle tue applicazioni, vai al Logto Console -> Applicazioni -> Dettagli Applicazione -> Endpoints & Credenziali.
Il campo di input del segreto dell'app originale, di sola lettura, è ora sostituito con una nuova tabella di gestione dei segreti. Puoi creare, aggiornare ed eliminare segreti in questa tabella.
Personalizzazione a livello di organizzazione e applicazione
Logo dell'organizzazione
Ora è possibile impostare loghi in versione chiara e scura per le organizzazioni. Puoi caricare i loghi nella pagina delle impostazioni dell'organizzazione.
Inoltre, è possibile sovrascrivere il logo dell'esperienza di accesso di un'organizzazione. Basta aggiungere il parametro organization_id
alla richiesta di autenticazione. Nella maggior parte dei Logto SDK, ciò può essere fatto utilizzando il campo extraParams
nel metodo signIn
.
Ad esempio, nel JavaScript SDK:
Il valore <organization-id>
può essere trovato nella pagina delle impostazioni dell'organizzazione.
Se non riesci a trovare il campo extraParams
nell'SDK che stai usando, faccelo sapere.
Personalizzazione a livello di applicazione
Ora puoi impostare loghi, favicon e colori per la tua app. Queste impostazioni saranno utilizzate nell'esperienza di accesso quando l'app inizia il flusso di autenticazione. Per le app che non hanno impostazioni di personalizzazione, verrà utilizzata la personalizzazione dell'esperienza di accesso omni.
Se il organization_id
è fornito nella richiesta di autenticazione, le impostazioni di personalizzazione a livello di app saranno sovrascritte dalle impostazioni di personalizzazione dell'organizzazione, se disponibili.
Miglioramenti delle prestazioni
Supporto alla renderizzazione lato server dell'app esperienza
Logto ora inietta le impostazioni e le frasi dell'esperienza di accesso nel file index.html
per una migliore performance della prima schermata. Tuttavia, l'app esperienza continuerà a recuperare le impostazioni e le frasi dal server se:
- Il server non ha iniettato le impostazioni e le frasi.
- I parametri nell'URL sono diversi rispetto ai dati renderizzati dal server.
Miglioramenti nella build dei pacchetti
- Usa
tsup
per costruire i pacchetti del connettore. Questo renderà il processo di build più veloce, senza influenzare la funzionalità dei pacchetti. - Utilizza
Vite
per la transpilazione e il bundling dei pacchetti@logto/console
,@logto/demo-app
e@logto/experience
. Rimosso ParcelJS e sostituito con Vite. Non sono previste modifiche che interrompano il funzionamento.
Correzioni di bug
Correzione del comportamento di aggiornamento jsonb dell'endpoint PATCH /api/applications/{applicationId}
Tutti i campi jsonb dell'oggetto Application
dovrebbero essere aggiornati in modalità replace
anziché in modalità merge
. Questo cambiamento renderà il metodo PATCH
più prevedibile e coerente con il design dell'API Restful.
- Aggiornato la modalità di aggiornamento del campo jsonb da
merge
areplace
nell'endpointPATCH /api/applications/{applicationId}
. - Aggiornato la validazione dei parametri di input del campo jsonb da
parziale
acompleta
nell'endpointPATCH /api/applications/{applicationId}
. - Campi interessati:
oidc_client_metadata
,custom_client_metadata
,protected_app_metadata
ecustom_data
.
Nota: Se stai usando il Logto panel per aggiornare le impostazioni dell'
Applicazione
, non dovresti essere influenzato da questo cambiamento. Gli utenti dell'API che usano il metodoPATCH
per aggiornare le impostazioni jsonb dell'Applicazione
dovrebbero essere consapevoli di questo cambiamento. Il metodoPATCH
sostituirà ora l'intero campo jsonb con i nuovi dati di input. Qualsiasi dato parziale inserito nei campi interessati sarà rifiutato.
Correzione del problema per cui alcuni payload degli eventi webhook restituivano sempre lo status 404 della risposta API
Eventi webhook interessati: Role.Scopes.Updated
, Organizations.Membership.Updates
.
Lo status del codice di risposta API restituito dal payload dell'evento webhook era sempre 404. Questo è stato causato dall'inserimento del payload dell'evento webhook prima che venisse impostato il contesto della risposta API.
Poiché il webhook è attivato solo quando l'evento viene elaborato con successo, lo status del codice dovrebbe sempre essere 2xx.
Questo problema è stato risolto spostando l'inserimento del payload dell'evento webhook dopo che il contesto della risposta API è stato impostato.
Altri miglioramenti
- Ora è possibile impostare la favicon per il tema scuro nelle impostazioni di personalizzazione dell'esperienza di accesso.
- Aggiunti nuovi algoritmi di digest della password:
Argon2d
eArgon2id
. Gli utenti con questi algoritmi saranno migrati aArgon2i
dopo un accesso riuscito. - La configurazione della lista dei browser per
@logto/experience
è stata sincronizzata con quanto indicato inREADME.md
. - Migliorata la descrizione dell'autenticazione in swagger. Utilizzare lo schema di sicurezza OAuth2 nativo di OpenAPI anziché schema di sicurezza personalizzato basato sulle intestazioni HTTP.