Röviden OpenID Connect

Amikor olvasod a specifikáció OpenID Connect. úgy érezheti, meglehetősen kényelmetlen érzések enyhe félt kimondani csalódás. Mindez azért van, mert azok meg vannak írva a „száraz” nyelv specifikációt, és a legtöbb, azt írják le a határ esetben kivételeket, stb Azonban, ha lefordítani őket normális emberi nyelv és váltson speciális esetekben, minden lesz elég nyilvánvaló. Tehát kezdjük! (Remarochka: a szöveg legnagyobb egybeesik az eredeti mondat írta David Rekordonom Alapvetően én változások csak hatással néhány paraméter neveket és egyéb apróságok.)

Készítsen OpenID Connect kérés

Annak érdekében, hogy az ügyfél, hogy OpenID Connect kérelmet, meg kell adni a következő információkat a kiszolgáló:

Épület egy ügyfél kérésére OAuth 2.0, így a tokent.

Annak ellenére, hogy az előzetes regisztráció a kliens a szerver nem lehet megkövetelni, akkor valószínű, hogy a szerver különböző korlátozásokat és követelményeket az ügyfelek felhasználói adatok lekérdezéséhez.

Előállítás OpenID Connect választ

Az első rész - Base64url. kódolt JSON jelölést, és bemutatja az algoritmus és a fajta token:

A második rész - az Base64url, kódolt JSON jelölés:

A harmadik rész a szerver a következő volt:

Információkhoz való hozzáférést a felhasználók (nem kötelező)

ha szükséges, a szerver felvehet további adatokat a választ (például, mint a hordozható kapcsolatok), mindaddig, amíg nem változik a lefoglalt kulcsok OpenID Connect. (Megjegyzés: több jól meghatározott kulcsok, de a rövidség kedvéért, én kihagyja a leírást.)

Megnyitása (opcionális)

  • Annak érdekében, hogy egy adott URL-t, a kliens hozzáfűzi „/.well-known/openid-configuration” kibocsátó és a kibocsátó kap egy konfigurációs fájl TLS / SSL az alábbiak szerint:
  • Response egy objektum JSON, amely magában foglalja a végpontot, és egyéb információk.
    Például:

    Nem regisztrált ügyfél és dinamikus regisztráció (opcionális)

    Mielőtt válaszolnál a kéréseket a szerver ellenőriznie kell, hogy az URL-t bejegyezték visszahívás kívül OpenID áramlását. Ha igen, akkor a szerver küld adatokat a reakció, hogy a hiba. Szerver politikákat kell kidolgozni, hogy kezelni az ilyen eseteket, amikor továbbított redirect_uri korábban regisztrált ügyfél fejlesztő alatt dinamikus regisztrációs kéréseket. Ez a viselkedés azt jelenti például, hogy az új kérelmek dinamikusan regisztrálja ezeket redirect_uri vezet hiba, de lekérdezést a már végrehajtott dinamikus regisztrációk tovább fog működni, amíg az le nem jár.
    Ahhoz, hogy a dinamikus szövetség, a szerver a következő paramétereket JSON választ:

    • client_id - Az ügyfél azonosítója. Ez az érték változhat minden kérésére a szerver.
    • client_secret - ügyfél gombot. Ő meg fog változni minden választ.
    • expires_at - a másodpercek számát 1970-01-01T0: 0: 0z összhangban UTC, mégis client_id client_secret nem elavult, vagy 0, ha nincs időkorlátozás.
    • registration_client_uri - uri kezelni ezeket a regisztrációs adatokat.
    • registration_access_token - egy jelképes, amelyeket használni fognak elérni a registration_client_uri.

    Az ügyfélnek meg kell tárolni az adatokat dinamikusan regisztrálni munka kiszolgáló zsetont. tárolja az ügyfél-azonosítót az egyes ügyfelek igényeihez dinamikusan regisztrálni, az ügyfél kulcs, a lejárati időt, egyedi URL-t, ahogy fenn a folyamatot és API felhasználói adatokat. A lejárati idő kell tartani, mint egy abszolút időt, vagy egy jelet, hogy a regisztrációs örökké fog tartani.
    Mint látható, az alapvető folyamatok OpenID Connect meglehetősen egyszerű webes kliens, és olyan egyszerű, mint az eredetileg javasolt. Ugyanakkor, a kiegészítő funkciók, mint például a kérelem egyedi adatsorokat, hanem az alapértelmezett lehet használni. Ezek a további lehetőségek állnak rendelkezésre, amikor szükség van rájuk, és nem egy egyszerű kölcsönhatás komoly problémát jelent az ügyfelek nagyszámú OpenID szolgáltató.