Logto-produktuppdateringar
đ Vi presenterar vĂ„rt juli-slĂ€pp: Logto API SDK, hemligt valv för federerad tokenlagring, hantera TOTP och reservkoder via Kontots API, och mer!
Logto API SDK
Ett TypeScript SDK för att integrera med Logtos Management API med hjÀlp av klientautentisering.
SĂ„ fungerar det:
- Skapa en maskin-till-maskin-applikation i Logto-konsolen.
- Ge applikationen Ätkomst till Management API.
- Installera SDK via npm:
npm install @logto/api
- AnvÀnd
createManagementApi()
för att skapa en typad klient för Management API med din applikationsuppgifter.
Höjdpunkter:
- Hanterar automatiskt OAuth-tokenautentisering och förnyelse.
- Stöder bÄde Logto Cloud och sjÀlvhostade instanser.
- Förenklar integrationen med Logtos Management API sÄ att du kan fokusera pÄ att bygga funktioner istÀllet för att hantera lÄgnivÄ-API-förfrÄgningar.
Hemligt valv
Det hemliga valvet Àr en sÀker lagringslösning i Logto för att hantera kÀnslig anvÀndardata, inklusive Ätkomsttoken, API-nycklar, engÄngskoder och annan konfidentiell information. Dessa hemligheter anvÀnds normalt för att nÄ tredjepartstjÀnster Ä anvÀndarens vÀgnar, vilket gör sÀker lagring avgörande.
Stöd för federerad tokenlagring
Tokenlagring stöds nu för bĂ„de sociala och företags-SSO-kopplingar. NĂ€r detta aktiveras lagrar Logto tokenuppsĂ€ttningen som utfĂ€rdas av identitetsleverantören efter lyckad autentisering. Applikationer kan dĂ€refter hĂ€mta Ă„tkomsttoken senare â utan att krĂ€va att anvĂ€ndaren autentiserar pĂ„ nytt â för att anropa tredjeparts-API:er.
Stödda kopplingar:
- Sociala kopplingar: GitHub, Google, Facebook, Standard OAuth 2.0 och Standard OIDC
- Företags-SSO-kopplingar: Alla OIDC-baserade SSO-kopplingar
SĂ„ fungerar det:
- Aktivera tokenlagring för sociala och företags-SSO-kopplingar i Logto-konsolen eller via Logtos Management API.
- NÀr det Àr aktiverat lagrar Logto automatiskt tokenuppsÀttningen som utfÀrdas av leverantören efter lyckad anvÀndarautentisering.
- HĂ€mta den lagrade token via Kontots API vid behov.
LÀs mer i dokumentationen för hemligt valv.
LĂ€gg till TOTP och reservkoder via Kontots API
AnvÀndare kan nu lÀgga till TOTP och reservkoder via Kontots API.
POST /api/my-account/mfa-verifications/totp-secret/generate
: Generera en TOTP-hemlighet.POST /api/my-account/mfa-verifications/backup-codes/generate
: Generera reservkoder.POST /api/my-account/mfa-verifications
: LÀgg till en TOTP eller reservkod med hjÀlp av genererad hemlighet eller koder.GET /api/my-account/mfa-verifications/backup-codes
: HĂ€mta reservkoder.
Ăvriga förbĂ€ttringar
- Sociala kopplingar: Stöd har lagts till för att ange en anpassad
scope
-parameter nÀr auktoriserings-URL:en genereras för sociala kopplingar. Detta gör att du kan begÀra ytterligare behörigheter frÄn den sociala leverantören nÀr Logtos sociala verifieringsendpoint anropas. Om scope anges anvÀnds den i auktoriseringsförfrÄgan; annars anvÀnds standardscope enligt kopplingsinstÀllningarna. - Konsol: För att bÀttre stödja den nya funktionen för hemligt valv har vi omstrukturerat layouten pÄ anvÀndardetaljsidan. AnvÀndarens sociala och företags-SSO-identiteter Àr nu organiserade i en ny anslutningssektion. Denna sektion visar alla anvÀndarens lÀnkade anslutningar, inklusive tredjepartsidentitetsinformation och tokenlagringsstatus (om tillÀmpligt). En detaljerad identitetssida finns ocksÄ för varje anslutning, vilket ger mer information om den lÀnkade identiteten och dess kopplade tokens.
Buggfixar
Tenantmedveten frÀmmande nyckelbegrÀnsning för tabellen organization_user_relations
Problem
Utvecklare kunde av misstag tilldela en user_id
frÄn en annan tenant till en organisation, vilket orsakade 500-fel pÄ organisationens anvÀndar-API:er. Ursprungstabellen organization_user_relations
hade endast en frÀmmande nyckel mot users (id)
, vilket lÀt alla befintliga anvÀndar-ID anvÀndas oavsett tenantisolering.
Grundorsak
Logto anvÀnder radnivÄsÀkerhet (RLS) pÄ alla tabeller för att isolera tenantdata. NÀr anvÀndartabellen kopplas mot organization_user_relations
blir den faktiska anvÀndardatan otillgÀnglig för nuvarande tenant pÄ grund av RLS-restriktioner, vilket leder till att anvÀndardata returneras som null och utlöser 500-serverfel.
Lösning
En sammansatt frÀmmande nyckelbegrÀnsning (tenant_id, user_id)
med referens till users (tenant_id, id)
har lagts till för att sÀkerstÀlla att relationen mellan organisation och anvÀndare tillhör samma tenant. Detta sÀkerstÀller korrekt tenantisolering pÄ databasenivÄ.