Resurssit · 43
OAuth ja OpenID Connect: integraation varmistaminen päästä päähän
Erota sisäänkirjautumis-, delegointi- ja dataoikeudet, testaa sitten uudelleenohjaukset, tunnukset, istunnot ja peruutukset.
Päivitetty · 3 min
Mitä tämä opas auttaa saavuttamaan
- Erota identiteetti valtuutuksesta.
- Hylkää tahattomat uudelleenohjaukset ja tunnukset.
- Testaa hylkäykset yhtä huolellisesti kuin onnistumiset.
- Tarkista käyttöoikeuden poisto poistumisen tai tapahtuman jälkeen.
Pikatarkistus
- Mitä palveluntarjoajaa ja myöntäjää odotetaan?
- Onko uudelleenohjauksen URI rekisteröity tarkasti?
- Käytetäänkö tunnistetunnusta virheellisesti käyttöoikeustunnuksena?
- Tarkistaako jokainen resurssi omistajuuden?
- Mikä käyttöoikeus säilyy peruuttamisen jälkeen?
Vaiheittainen menetelmä
- 1
Piirrä käyttöönotettu työnkulku.
Tunnista julkinen tai luottamuksellinen asiakas, selain, valtuutuspalvelin, API ja OIDC-palveluntarjoaja. Kirjaa muistiin, minne koodit ja tunnukset kulkevat, kuka niitä tallentaa ja mitkä roolit on myönnetty. Myyntikaavio ei määritä varsinaista käyttöönottoa.
Toimitettava: työnkulku, luottamusrajat ja komponenttien omistajat.
- 2
Tarkista kirjautumistapahtuma.
Käytä asiakkaalle sopivaa koodinkulkua PKCE:n kanssa. Tarkista S256, tapahtumasidonta, rekisteröidyt uudelleenohjaukset ja suojaus väärennettyjä pyyntöjä vastaan. Testaa odottamatonta URI:tä, virheellistä varmentajaa, toistettua koodia ja odottamatonta myöntäjää. RFC 9700 erottelee vaatimukset ja suositukset asiakastyypin mukaan.
Toimitettava: sallittujen ja kiellettyjen testien tulokset.
- 3
Vahvista oikea token.
API vahvistaa käyttöoikeustunnuksensa muodon ja tarjoajan sääntöjen mukaisesti: allekirjoitus tai itsetarkastelu, myöntäjä, yleisö, vanheneminen ja käyttöoikeudet. OIDC-asiakasohjelma vahvistaa identiteettitunnuksen erikseen. Kelvollinen allekirjoitus ei vahvista, että tunnus kuuluu tähän API:in.
Toimitettava: sopimuksen ja yleisön sekä vanhenemisen testit.
- 4
Tarkista liiketoimintaoikeudet.
Testaa toisen tilin omistama objekti, alempi rooli, yksityinen kenttä ja hallinnollinen toiminto. Soveltamisala tai todennettu yhdyskäytävä ei korvaa pyydetyn resurssin palvelinpuolen tarkistuksia. Käytä valtuutettuja testitilejä ja -tietoja.
Toimitettava: rooli, objekti, toiminto ja odotettu hylkäysmatriisi.
- 5
Vanhenemisen ja peruutuksen harjoitus
Erota paikallinen istunto, palveluntarjoajan istunto, käyttöoikeustunnus ja päivitystunnus. Testaa lähtö, kadonnut laite, roolin vaihto, allekirjoitusavaimen kierto ja palveluntarjoajan käyttökatkos. Dokumentoi jäljellä oleva käyttöaika sen sijaan, että oletetaan, että uloskirjautuminen peruuttaa kaiken välittömästi.
Toimitettava: käyttöoikeuksien poiston aikajana ja poikkeukset.
- 6
Tarkkaile paljastamatta salaisuuksia
Kirjaa tapahtumaviite, validointipäätös, virheluokka ja konfiguraatioversio. Sulje pois koodit, tunnukset ja salaisuudet. Valmistele diagnoosi, integraation sulkeminen ja palautus validoituun konfiguraatioon; toista testit palveluntarjoajan vaihtojen jälkeen.
Toimitettava: toimintamenettely ja regressiotarkistukset.
Kuvitteellinen esimerkki
Havainnollistava tilanne
Havainnollistava tilanne: kaksi asiakasta käyttää yhtä identiteetintarjoajaa. Ensimmäiselle kelvollinen token esitetään toisen asiakkaan API:lle.
Päätös ja odotettu näyttö
API hylkää väärän yleisön, tallentaa token-vapaan jäljen eikä palauta tietoja. Hylkäämisestä tulee regressiotesti.
Mekanismien erottaminen
| Mekanismi | Tarkoitus | Vahvistus tai rajoitus |
|---|---|---|
| OAuth 2.0 | Resurssin käyttöoikeuden delegointi | Palvelinpuolen objektien käyttöoikeudet |
| OpenID Connect | Henkilöllisyyden varmistaminen validoidun tunnistetunnuksen avulla | Myöntäjän, yleisön ja tapahtuman validointi |
| Sovellusistunto | Sovelluskirjautumisen ylläpito | Vanheneminen, mitätöinti ja istunnon suojaus |
Johdon indikaattorit
| Indikaattori | Mitä se mittaa | Ensimmäinen toimenpide |
|---|---|---|
| Hylkäysten korjaaminen | Kielletyt tapaukset on tosiasiallisesti estetty | Kaikkien odottamattomien hyväksyntöjen korjaaminen |
| Peruutusviive | Aika, kunnes asiaankuuluva käyttöoikeus katoaa | Istuntojen ja tunnisteiden tarkistaminen erikseen |
| Validointivirheet | Hylkäykset syyn ja version mukaan | Hyökkäysten erottaminen määritysvirheistä |
Yleisiä virheitä
- Todennuksen ja valtuutuksen sekoittaminen
- Minkä tahansa yleisön hyväksyminen allekirjoituksen tarkistamisen jälkeen
- Laajojen uudelleenohjaus-URIen rekisteröinti
- Tunnusmerkkien kirjaaminen lokiin helpompi virheenkorjaus
Usein kysytyt kysymykset
Korvaako PKCE kaikki kontrollit?
Ei. Se suojaa koodinvaihtoa aiotussa työnkulussa; tokenin validointi, uudelleenohjaukset, liiketoiminnan valtuutus ja istunnot on edelleen tarkistettava.
Onko JWT käyttöoikeus?
JWT on formaatti. Vaatimukset tulevat käyttökelpoisiksi vasta validoinnin ja API-sääntöjen soveltamisen jälkeen.
Pitäisikö validointi rakentaa alusta alkaen?
Suosi ylläpidettyä kirjastoa ja tarjoajan dokumentaatiota ja testaa sitten kokoonpanoasi. Oikea kirjasto voidaan silti konfiguroida väärin.
Viralliset viitteet
Viitteet tukevat menetelmää. Sovita tarkastukset kontekstiisi; ne eivät ole sertifiointia. Alkuperäiset viitteiden otsikot ja lähdeasiakirjat voivat olla toisella kielellä.






