Ez arról szól, hogy a közzétett API d beengedi a SAJÁT látogatóit, "Bejelentkezés Google val" az alkalmazásod felhasználóinak, nem arról, hogy az API d kifelé hív egy másik szolgáltatást (az a Külső API hívása blokk saját, külön OAuth2 opciója, és ezt semmi ebből nem érinti).
Hogyan illeszkednek össze a részek
Egy böngésző bejelentkezési átirányítás befejezése a saját frontended feladata, bármely alkalmazás vagy oldal, ami az API det hívja, már rendelkezik egy "Bejelentkezés Google val" gombbal, ami a Google saját SDK jén keresztül van bekötve, és ez a folyamat végén egy ID tokent tart a kezében. A végponted feladata ezután kezdődik: megkapja a tokent, és ellenőrzi, hogy valódi e, mielőtt bármit is elhinne, amit állít.
Felépítése
- Hozd létre a végpontot, amit a frontended a bejelentkezés után hívni fog (egy
POSTa jellemző). - Adj hozzá egy OIDC bejelentkezés blokkot. Hagyd a tokenforrást Authorization: Bearer fejléc en, ha a frontended így küldi, vagy válts át egy törzsmezőre.
- Töltsd ki a várt közönséget, a Google OAuth kliens azonosítódat, ha ez nincs helyesen beállítva, egy teljesen más alkalmazásnak kibocsátott token is átmehetne az ellenőrzésen.
- Kösd a "Ellenőrizve" kapcsolatot bármihez, amire az alkalmazásodnak ezután szüksége van, jellemzően egy Adatbázis lekérdezésbe, ami a
{{oidcSub}}re (a szolgáltató stabil felhasználói azonosítójára) kulcsolt rekordot keres, vagy hoz létre. Kösd az "Érvénytelen" et egy Hibaválasz blokkhoz, státusszal401.
Siker esetén a blokk felkínálja a {{oidcSub}}, {{oidcEmail}}, {{oidcEmailVerified}}, és {{oidcName}} t (változtasd meg az "oidc" előtagot a blokk saját paneljében, ha inkább máshogy neveznéd el őket), hogy a gráfod további része felhasználja, egy rekordot tárolva az adott felhasználóhoz kötve, saját munkamenet tokent kiállítva, bármit, amire az alkalmazásodnak szüksége van.
Mi támogatott ténylegesen
A Google, és bármely más szolgáltató, ami közzétesz egy szabványos OpenID Connect felfedezési dokumentumot (egy .well-known/openid-configuration URL n), támogatott. Egy szolgáltató, aminek nincs ilyen, nem, ez szándékosan nem próbál kitalálni egy szolgáltatóspecifikus token formátumot, amit nem tud helyesen ellenőrizni.
Tipp: A közönség mező számít, mindig állítsd be a valódi Google OAuth kliens azonosítódra, egy üres közönség azt jelenti, hogy a blokk nem tudja megkülönböztetni az alkalmazásodnak szánt tokent egy valaki másénak szánttól.