Ymmärtäminen Uudelleenohjaus URI ja Autorisaatiokoodi Virtaus OpenID Connectissä (OIDC)
Katsotaanpa tarkemmin uudelleenohjaus URI:ta, sillä se on kriittinen tietoturvakomponentti OIDC-autentikointiprosessissa.
Mikä on Uudelleenohjaus URI?
Uudelleenohjaus URI, joka tunnetaan myös nimellä Vastaus URL, on kriittinen tietoturvatekijä OIDC-autentikointiprosessissa. Se määrittelee URL-osoitteen, jonne käyttäjät lähetetään kirjautumisen jälkeen onnistuneesti OIDC-palveluntarjoajan kautta. Tärkeämpää on, että se on paikka, jossa sovelluksesi vastaanottaa valtuutuskoodin, joka tarvitaan tunnisteiden hankkimiseen.
Katso lisätietoja Auth Wiki > Redirect URI.
Mikä on Autorisaatiokoodi Virtaus?
Autorisaatiokoodi Virtaus (määritelty OAuth 2.0 RFC 6749, osa 4.1) on perustavanlaatuinen autentikointimenetelmä OIDC:ssa. Se sisältää valtuutuskoodin vaihtamisen pääsytunnisteeseen ja, tarvittaessa, päivitystunnisteeseen. Tämä virtaus sopii sovelluksille, jotka voivat turvallisesti ylläpitää asiakassalaisuutta, kuten palvelinpuolen verkkosovellukset.
Katso lisätietoja Auth Wiki > Authorization Code Flow.
Miten Uudelleenohjaus URI toimii Autorisaatiokoodi Virtauksessa?
Autorisaatiokoodi Virtauksessa Uudelleenohjaus URI on kohde, johon OIDC-palveluntarjoaja lähettää valtuutuskoodin käyttäjän onnistuneen autentikoinnin jälkeen. Se on ennakkoon rekisteröitävä OIDC-palveluntarjoajan kanssa tietoturvan varmistamiseksi ja luvattomien uudelleenohjausten estämiseksi.
Näin voit rekisteröidä Uudelleenohjaus URI:n Logto Console:
Kun aloitat kirjautumisen:
- Valtuutuspyyntö: Sovelluksesi ohjaa käyttäjän OIDC-palveluntarjoajan valtuutuskohtaan, mukaan lukien parametrit kuten
client_id
,response_type
,scope
jaredirect_uri
. - Käyttäjän tunnistautuminen: Käyttäjä tunnistautuu OIDC-palveluntarjoajan kanssa.
- Valtuutuskoodin toimitus: Onnistuneen tunnistautumisen jälkeen OIDC-palveluntarjoaja ohjaa käyttäjän määritettyyn
redirect_uri
:iin, sisällyttäen valtuutuskoodin kyselyparametrina.
OIDC-palveluntarjoaja tarkistaa redirect_uri
:n rekisteröityjen URI:den listaa vasten. Jos on ristiriita, palautetaan invalid_redirect_uri
virhe, joka parantaa tietoturvaa estämällä luvatonta pääsyä tunnisteisiin.
Parhaat käytännöt Uudelleenohjaus URI:lle
Todellisissa käyttötapauksissa yleinen paras käytäntö on julistaa oma "Callback"-sivu ja yhdistää reititin/syvä linkki, joka sallii suoran pääsyn ulkoisesta. Tätä linkkiä tulisi käyttää uudelleenohjaus-URI:na.
Oletetaan, että sinulla on yksisivuinen verkkosovellus, joka toimii osoitteessa https://my-app.com
, niin yleensä uudelleenohjaus-URI ilmoitettaisiin muodossa https://my-app.com/callback
Tai jos kyseessä on natiivi mobiilisovellus, niin uudelleenohjaus-URI alkaa yleensä mukautetulla kaavalla, esim. com.company://myapp/callback
Muita parhaita käytäntöjä ovat:
- Vältä jokerimerkkejä: Älä käytä jokerikuvioita uudelleenohjaus URI:ssa. Erittele tarkasti kaikki sallitut URI:t luvattoman pääsyn estämiseksi.
- Tarkka vastaavuus: Varmista, että uudelleenohjaus-URI vastaa täsmälleen OIDC-palveluntarjoajalle rekisteröityä. Jopa viimeinen kauttaviiva voi aiheuttaa ristiriidan.
Käsittele kirjautumisäänitö
Käsitelläksesi redirect_uri
:llesi palautetun valtuutuskoodin, seuraa näitä vaiheita:
-
Poimi valtuutuskoodi: Hae koodiparametri uudelleenohjaus-URI:n kyselyn merkkijonosta.
-
Vaihda valtuutuskoodi tunnisteisiin: Laadi POST-pyyntö OIDC-palveluntarjoajan tunnistekohtaan, mukaan lukien:
client_id
: Sovelluksesi tunnus OIDC-palveluntarjoajallacode
: Uudelleenohjaus URI:lta saatu valtuutuskoodicode_verifier
: Satunnainen merkkijono, joka on luotu asiakaspuolellaredirect_uri
: Sama URI, jota käytettiin valtuutuspyynnössägrant_type
: Myöntämisen tyyppi, yleensäauthorization_code
Näyte tunnisteiden vaihtopyyntö JavaScriptissä
Yksinkertaista koodin vaihtamisprosessia Logtossa hyödyntämällä Logto SDK:ta
Logto SDK:t ovat kehityskitti, joka on kirjoitettu tietyllä ohjelmointikielellä tai -kehitysalustalla, esim. Logto React SDK, Next.js SDK ja Swift SDK. SDK:n käyttö voi huomattavasti yksinkertaistaa asioita vain yhdellä tai kahdella funktiokutsulla.
Tässä on React "Callback"-komponentin esimerkki käyttäen Logton virallista React SDK:ta:
SDK-integrointioppaat löytyvät Logto Docs > Quick-starts.
Yhteenveto: miksi on tärkeää hallita Uudelleenohjaus URI:t OIDC:ssa
Ymmärtäminen Uudelleenohjaus URI:ta OIDC:ssa valtuutuskoodivirtausten kanssa on ratkaisevan tärkeää autentikointiprosessien turvaamiseksi ja optimoimiseksi. Rekisteröimällä luotettavia uudelleenohjaus URI:ta ja käsittelemällä kirjautumisäänitöjä tehokkaasti, voit varmistaa saumattoman ja turvallisen kokemuksen käyttäjillesi samalla kun yksinkertaistat kehityspyrkimyksiäsi Logto SDK:iden avulla.