• rilascio

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.

Simeng
Simeng
Developer

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 un subject_token per l'uso dello scambio di token.
  • Aggiornato l'endpoint OIDC POST /oidc/token con un nuovo tipo di grant urn:ietf:params:oauth:grant-type:token-exchange per scambiare un subject_token con un access_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 campo custom_data di un'applicazione.
  • Aggiornato l'endpoint PATCH /api/applications/{applicationId} per permettere la sovrascrittura del campo custom_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 a replace nell'endpoint PATCH /api/applications/{applicationId}.
  • Aggiornato la validazione dei parametri di input del campo jsonb da parziale a completa nell'endpoint PATCH /api/applications/{applicationId}.
  • Campi interessati: oidc_client_metadata, custom_client_metadata, protected_app_metadata e custom_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 metodo PATCH per aggiornare le impostazioni jsonb dell'Applicazione dovrebbero essere consapevoli di questo cambiamento. Il metodo PATCH 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 e Argon2id. Gli utenti con questi algoritmi saranno migrati a Argon2i dopo un accesso riuscito.
  • La configurazione della lista dei browser per @logto/experience è stata sincronizzata con quanto indicato in README.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.