Logto v1.46.0 on täällä. Se tuo mukanaan OIDC step-up -todennuksen, kirjautumisen Ethereumilla, tavan pitää iOS:n Tallenna salasana -kehotteen näkyvissä, itsepalveluna henkilökohtaiset käyttöavaimet sekä kierroksen tietoturvan vahvistusta.
Logto v1.46.0 esittelee OIDC step-up -todennuksen arkaluontoisiin toimenpiteisiin, kirjautumisen Ethereumilla, tavan pitää iOS:n "Tallenna salasana" -kehotteen näkyvissä sekä itsepalveluna henkilökohtaiset käyttöavaimet Tilikeskuksessa. Mukana on myös GeeTest CAPTCHA, SAML:n staattiset attribuutit ja useita tietoturvan parannuksia. Tässä uutta:
Sovellukset voivat nyt vaatia tuoreemman tai vahvemman kirjautumisen ennen arkaluontoisia toimenpiteitä standardien OIDC-parametrien avulla.
Pyydä ja tarkista: Välitä acr_values ja max_age valtuutuspyynnössä, ja lue sitten acr, amr ja auth_time ID-tokeneista, käyttöoikeustokeneista ja introspektiovastauksista. Tuetut ACR-arvot löytyvät discovery-dokumentista.
Sisäänrakennettu Tilikeskukseen: Tilikeskus valtuuttaa nyt arkaluontoiset tilin API-toiminnot tuoreella ensimmäisen osapuolen käyttöoikeustokenilla. Jos kirjautuminen ei ole tarpeeksi tuore, Tili-API vastaa RFC 9470 step-up -haasteella.
Määritettävä aikaikkuna: Määritä kuinka tuore kirjautumisen tulee olla kohdassa Konsoli > Kirjautumiskokemus > Tilikeskus > Viimeisin todennus (oletuksena 10 minuuttia). Asiakas voi silti pyytää lyhyempää aikaikkunaa max_age-arvolla.
Taaksepäin yhteensopiva: Sovellukset, jotka käyttävät Tili-API:a suoraan, voivat jatkossakin käyttää todennustietueen tunnistetta arkaluontoisiin toimenpiteisiin.
Uusi Ethereum Wallet -sosiaaliliitin (@logto/connector-siwe) mahdollistaa kirjautumisen EVM-lompakolla. Käyttäjät, joilla on selainlompakko (injektoitu EIP-1193-palveluntarjoaja), allekirjoittavat kertaluontoisen Kirjaudu sisään Ethereumilla (EIP-4361) -viestin poistumatta kirjautumissivulta. Yksi osoite toimii kaikissa tuetuissa EVM-ketjuissa, ja ylläpitäjät voivat rajoittaa sallittuja ketju-ID:itä.
Pidä iOS:n Tallenna salasana -kehotteen näkyvissä#
iOS:llä ASWebAuthenticationSession sulkeutuu heti, kun se havaitsee sovelluksen palaute-URL:n, mikä piilottaa järjestelmän "Tallenna salasana" -kehotteen heti salasanakirjautumisen jälkeen.
Anna uusi confirm_redirect_policy=password -kirjautumisparametri näyttääksesi "Jatka"-sivun sen jälkeen, kun käyttäjä on syöttänyt salasanan. Sivu palaa sovellukseen vasta kun käyttäjä valitsee "Jatka", joten kehotus säilyy ruudulla. Ilman parametria Logto ohjaa takaisin heti kuten aiemmin.
Kun henkilökohtaiset käyttöavaimet on otettu käyttöön Tilikeskuksessa, käyttäjät voivat luoda, nimetä uudelleen ja poistaa omia avaimiaan Tilikeskuksen Turvallisuus-sivulla. Jokainen avain näytetään vain luontivaiheessa ja vanhenee enintään 365 päivän kuluessa.
Samat toiminnot ovat käytettävissä Tili-API:n kautta osoitteessa /api/my-account/personal-access-tokens uudella urn:logto:scope:personal_access_tokens -scope:lla.
GeeTest CAPTCHA: GeeTest CAPTCHA v4 on nyt saatavilla kohdassa Konsoli > Turvallisuus > CAPTCHA. Se sopii kirjautumiskokemuksiin, jotka kohdistuvat Manner-Kiinaan, jossa Google reCAPTCHA ei usein toimi.
Vaadi MFA:n määrittely käyttäjälle: Ota käyttöön Vaadi MFA:n määrittely käyttäjätietosivulla tai aseta mfa.required Hallinta-API:n kautta. Käyttäjän on määritettävä MFA seuraavalla kirjautumisella organisaation MFA-käytännöstä riippumatta.
Avaa käyttäjän lukitus: Uusi avaa-toiminto käyttäjätietosivulla vapauttaa kirjautumis- ja turvallisuuslukitukset käyttäjän ID:ltä, ensisijaisesta sähköpostista, ensisijaisesta puhelimesta ja käyttäjätunnukselta kerralla.
SHA-crypt-salasanan tuonti: Tuo käyttäjiä SHA-crypt ($5$ ja $6$) -salasanahajautuksilla käyttäen Legacy -salasanan algoritmia.
access_denied kun kirjautuminen perutaan: Suostumussivun peruminen tai epäonnistunut suora kirjautuminen palauttaa nyt käyttäjän asiakassovellukseen access_denied:llä. Räätälöidyt kirjautumiskokemukset voivat lopettaa istunnon samalla tavalla käyttämällä POST /api/experience/abort.
login_hint Tilikeskukselle: Lisää login_hint mihin tahansa Tilikeskuksen URL:iin esitäytettäväksi, kun käyttäjän pitää kirjautua.
SAML staattiset attribuutit: Lähetä kiinteitä attribuuttiarvoja, kuten tilin tai sivuston ID, jokaisessa SAML-varmenteessa. Määritä ne SAML-sovelluksen attribuuttikartoitus-välilehden Staattiset attribuutit -osiossa tai Hallinta-API:n staticAttributes:lla.
Cross-Origin-Opener-Policy tuo omalle UI:lle: Valitse same-origin-allow-popups tai same-origin kohdassa Konsoli > Kirjautumiskokemus > Brändäys > Tuo oma UI. Oletuksena mitään otsaketta ei lähetetä, joten pop-up-kirjautumisen avaavat sovellukset toimivat jatkossakin.
Hae käyttäjiä mukautetulla tiedolla: GET /api/users sallii toistuvan customData-kyselyparametrin, esimerkiksi customData={"customId":114514}.
Etsi organisaatiot just-in-time-provisioning-domainin perusteella: GET /api/organizations ottaa vastaan jitEmailDomain-kyselyparametrin ja palauttaa organisaatiot, joihin kyseisen sähköpostidomainin käyttäjä luotaisiin.
hasPassword organisaation jäsenille: GET /api/organizations/:id/users näyttää nyt, onko kullakin jäsenellä salasana asetettuna.
Webhook deliveryId: Jokaisessa webhook-payloadissa on nyt deliveryId, joka pysyy samana uudelleentoistoissa, jotta vastaanottajat voivat käsitellä jokaisen toimituksen vain kerran. Tämä on myös toimituksen lokimerkinnän tunniste.
Tähän julkaisuun sisältyy tietoturvakorjauksia MFA:han, sosiaaliseen ja yrityskirjautumiseen, Tili-API:in ja Logto Tunnel:iin.
Toimenpide vaaditaan: sähköpostisynkronointi OAuth 2.0 ja Azure AD -liittimille: Standardi OAuth 2.0 -sosiaaliliitin lisää Poista sähköpostisynkronointi -kytkimen, kuten Microsoft Azure AD -liitin. Päivitys itsessään ei muuta liitinten toimintaa, joten tarkista jokainen OAuth 2.0 ja Azure AD -sosiaaliliitin ja ota kytkin käyttöön, jos palveluntarjoaja ei vahvista käyttäjän sähköpostiosoitetta.
Kirjaudu sisään Applella: Apple-liitin ottaa käyttäjän sähköpostin nyt vain Applen ID-tokenista, eikä palauta sähköpostia, jos Apple merkitsee sen vahvistamattomaksi.
Monivaiheinen todennus: Käyttäjätason ja organisaatiotason MFA-vaatimukset menevät nyt tiliasetusten edelle, jotka kytkevät MFA:n pois päältä tai ohittavat sen. MFA-todistukset sidotaan aina tiliin, jolle ne luotiin.
Yrityksen SSO: SAML-liittimet hyväksyvät varmenteen vain, jos sen kohde vastaa tarkalleen liittimen Audience URI (SP Entity ID) -arvoa. Uusi asetus määrittää näkyvätkö SSO-liittimien nimet ja logot kirjautumissivulla ennen kuin sähköpostidomain täsmää.
Tili-API ja kolmannen osapuolen sovellukset: Tallennettujen sosiaalisten tai yritys-SSO-palveluntarjoajien tokenien nouto sekä varmuuskoodien, istuntojen, myönnöiden ja luotettujen laitteiden luku vaatii nyt ensimmäisen osapuolen sovelluksen.
Lisää vahvistusta: Valtuutuskoodit, laitekoodit, push-valtuutuspyynnöt ja kertakäyttöiset tokenit ovat nyt tiukasti kertakäyttöisiä. Liitinpyynnön virheet rajoitetaan nimeen, koodiin ja viestiin ennen lokitusta tai palauttamista. Virheelliset SAML-pyynnöt hylätään 400-virheellä. Logto Tunnel ratkaisee symlinkit ja rajoittaa Range-pyynnöt staattisia tiedostoja tarjoillessa.
Vanhemmat Safari ja iOS: Kirjautumissivu ei lataudu enää tyhjänä iOS:llä ja Safarilla versiota 16.4 aiemmin.
Selkeämmät sosiaalisen kirjautumisen virheet: Tavoittamaton tarjoaja palauttaa nyt 502 connector.social_provider_unreachable, hylätty valtuutus palauttaa 401 connector.authorization_failed, ja liitinvirheet näyttävät tarjoajan todellisen viestin eikä enää {}.
Välilyönnillä täytetyt scope-arvot: Esim. OpenAI Codexin kaltaisten asiakkaiden päivitystokenpyynnöt, joissa on välilyönnillä alkava scope, eivät enää epäonnistu invalid_scope:lla, joten käyttäjät pysyvät kirjautuneena.
Sovelluksen metatiedon validointi: Sovelluksen luonti tai päivittäminen hylkää nyt tuntemattomat customClientMetadata-avaimet, joten esim. kirjoitusvirheet kuten refreshTokenTtlInDay eivät mene läpi huomaamattomasti.
Sivutuksen linkit: Sivutuslinkit listapäätepisteissä säilyttävät nyt jokaisen toistuvan kyselyparametrin arvon.
SAML-attribuuttien paikkamerkit: Attribuutit, joilla on nimi kuten o365role, sisältävät nyt käyttäjän arvon eivätkä enää pelkkää paikkamerkkiä.
Liitinkorjauksia: Standardi OAuth 2.0 ja OIDC-liittimet hyväksyvät expires_in-arvon merkkijonona ja scope-arvon taulukkona tokenvastauksissa, ja Patreon-liitin siirtyy Patreon API v2:een, jolloin kirjautuminen Patreoniin toimii taas.
Konsoli ja Tilikeskus: Organisaation haku toimii sovelluksen käyttöoikeussäännöissä, API-resurssien nimet näytetään kokonaan oikeuksien myöntämisen yhteydessä, ja Tilikeskus ei enää vilauta "Powered by Logto" -tekstiä latauksen aikana kun brändäys on piilotettu.
Swift-integraatio-opas: Koodiesimerkit käyttävät nyt johdonmukaista asiakasnimeä, korjaten virheen Cannot find 'client' in scope. (Kiitos @timokoethe).
Tarkista ennen päivitystä: Tarkista OAuth 2.0 ja Azure AD sähköpostisynkronointi, SAML-varmenteen kohde sekä muutokset kolmannen osapuolen Tili-API:iin kohdasta Tietoturvan vahvistus.
Node.js 26: Virallinen Docker-image käyttää nyt Node.js 26:tta. Logto tukee Node.js:ää versioissa 22, 24 ja 26; vähimmäisversiot ovat 22.23.4, 24.22.1 ja 26.12.1.
Tietokantamuunnos vaaditaan: Suorita tietokantamuutoskomento (logto db alteration deploy) päivityksen jälkeen ja ennen uuden version käynnistämistä.
Kestävämpi käynnistys: Core ja CLI-tietokantakomennot yrittävät nyt uudelleen tietokantayhteyttä DNS-virheissä eivätkä poistu heti.
Ylläpitäjä-rajapinnan varoitus: Logto kirjaa nyt varoituksen, kun /console-pyyntö ei täsmää yhteenkään määritettyyn ylläpitäjäpäätteeseen, mikä auttaa tunnistamaan väärin määritetyn ADMIN_ENDPOINT:in.