Suomi
  • uudelleenohjaus uri
  • callback
  • valtuutuskoodi
  • koodivirtaukset
  • oidc
  • pkce

Ymmärtäminen Uudelleenohjaus URI ja Autorisaatiokoodi Virtaus OpenID Connectissä (OIDC)

Katsotaanpa tarkemmin uudelleenohjaus URI:ta, sillä se on kriittinen tietoturvakomponentti OIDC-autentikointiprosessissa.

Charles
Charles
Developer

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: redirect-uri

Kun aloitat kirjautumisen:

  1. Valtuutuspyyntö: Sovelluksesi ohjaa käyttäjän OIDC-palveluntarjoajan valtuutuskohtaan, mukaan lukien parametrit kuten client_id, response_type, scope ja redirect_uri.
  2. Käyttäjän tunnistautuminen: Käyttäjä tunnistautuu OIDC-palveluntarjoajan kanssa.
  3. 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:

  1. Poimi valtuutuskoodi: Hae koodiparametri uudelleenohjaus-URI:n kyselyn merkkijonosta.

  2. Vaihda valtuutuskoodi tunnisteisiin: Laadi POST-pyyntö OIDC-palveluntarjoajan tunnistekohtaan, mukaan lukien:

    • client_id: Sovelluksesi tunnus OIDC-palveluntarjoajalla
    • code: Uudelleenohjaus URI:lta saatu valtuutuskoodi
    • code_verifier: Satunnainen merkkijono, joka on luotu asiakaspuolella
    • redirect_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.