Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Készítette Valeriy Novytskyy, Rick Anderson és Sharaf Abacery
Ez az oktatóanyag bemutatja, hogyan engedélyezheti a felhasználók google-fiókokkal való bejelentkezését egy minta ASP.NET Core-projekttel, amelyet külső bejelentkezési szolgáltatók használatával Identity hoztak létre a ASP.NET Core-ban. Kövesse a Google hivatalos útmutatását a Google webes bejelentkezés: Beállítás cikkben, hogy API ügyfélazonosítót hozzon létre.
Az alkalmazás létrehozása a Google-ban
- Lépjen a Google Cloud platform Google API > Services oldalára.
- Ha nincs projekt, hozzon létre egy új projektet a Projekt létrehozása gombra kattintva. Ha másik projektet szeretne kijelölni, mint egy már betöltött projektet, válassza a betöltött projekt gombját a felhasználói felület bal felső sarkában, majd a projektet. Új projekt hozzáadásához válassza a betöltött projekt gombját a felhasználói felület bal felső sarkában, majd az Új projekt gombot.
- Új projekt létrehozásakor:
- Adjon meg egy projektnevet.
- Ha szeretné, válasszon egy szervezetet a projekthez.
- Válassza a Létrehozás gombot.
A projekt létrehozása után betöltődik a projekt Irányítópult oldala, ahol konfigurálható a projekt.
Nyissa meg a Hitelesítő adatok lapot az OAuth-ügyfél létrehozásához.
A hitelesítő adatok létrehozásának előfeltétele az OAuth hozzájárulási képernyőjének konfigurálása. Ha a hozzájárulás nincs konfigurálva, megjelenik egy kérés a hozzájárulási képernyő konfigurálására.
- Válassza a Hozzájárulás konfigurálása képernyőt , vagy válassza az OAuth hozzájárulási képernyőt az oldalsávon.
- Az OAuth hozzájárulási képernyőjén válassza az Első lépések lehetőséget.
- Adja meg az alkalmazás nevét és a felhasználó támogatási e-mail-címét.
- Állítsa be a célközönség típusát külsőre.
- Adjon meg kapcsolattartási adatokat egy kapcsolattartó e-mail-címének megadásával.
- Fogadja el a feltételeket.
- Válassza a Create gombot.
Az Ügyféloldali menüelem megnyitásával hozza létre az alkalmazás ügyfél-hitelesítő adatait:
- Válassza az Ügyfél létrehozása gombot.
- Válassza ki a webalkalmazástalkalmazástípusként.
- Adja meg az ügyfél nevét .
- Adjon hozzá egy engedélyezett átirányítási URI-t. Helyi teszteléshez használja az alapértelmezett címet
https://localhost:{PORT}/signin-google
, ahol a{PORT}
helyőrző az alkalmazás portja. - Válassza a Létrehozás gombot az ügyfél létrehozásához.
- Mentse a ASP.NET alkalmazáskonfigurációban később használt ügyfélazonosítót és ügyfélkulcsot.
Megjegyzés:
Az URI-szegmens /signin-google
a Google-hitelesítésszolgáltató alapértelmezett visszahívásaként van beállítva. Módosíthatja az alapértelmezett visszahívási URI-t, miközben konfigurálja a Google hitelesítési köztes szoftverét az RemoteAuthenticationOptions.CallbackPath osztály örökölt GoogleOptions tulajdonságán keresztül.
Az alkalmazás üzembe helyezésekor a következőkre van szükség:
- Frissítse az alkalmazás átirányítási URI-ját a Google Console az alkalmazás üzembe helyezett átirányítási URI-jára.
- Hozzon létre egy új Google API-regisztrációt a Google Konzolban az éles alkalmazáshoz az éles átirányítási URI-t használva.
A Google ügyfélazonosítójának és titkos kódjának tárolása
Bizalmas beállításokat, például a Google ügyfélazonosítóját és titkos értékeit tárolhatja a Secret Managerrel. Ehhez a példához kövesse az alábbi lépéseket:
Inicializálja a titkos kulcsok tárolására szolgáló projektet az alkalmazás titkos kulcsainak biztonságos tárolására vonatkozó utasításoknak megfelelően a ASP.NET Core-ban történő fejlesztés során.
Tárolja a bizalmas beállításokat a helyi titkos tárban a titkos kulcsokkal
Authentication:Google:ClientId
(érték:{CLIENT ID}
helyőrző) ésAuthentication:Google:ClientSecret
(érték:{CLIENT SECRET}
helyőrző):dotnet user-secrets set "Authentication:Google:ClientId" "{CLIENT ID}" dotnet user-secrets set "Authentication:Google:ClientSecret" "{CLIENT SECRET}"
A :
elválasztó nem működik a környezeti változók hierarchikus kulcsaival minden platformon. Például a :
elválasztójelet nem támogatja a Bash. A dupla aláhúzás, __
, a következő:
- Minden platform támogatja.
- A kettőspont automatikusan kicserélődik,
:
.
API-hitelesítő adatok és használat kezelése az API-konzolon.
Google-hitelesítés konfigurálása
Adja hozzá a hitelesítési szolgáltatást a Program
fájlhoz:
services.AddAuthentication().AddGoogle(googleOptions =>
{
googleOptions.ClientId = configuration["Authentication:Google:ClientId"];
googleOptions.ClientSecret = configuration["Authentication:Google:ClientSecret"];
});
Adja hozzá a hitelesítési szolgáltatást a következőhöz Startup.ConfigureServices
:
services.AddAuthentication().AddGoogle(googleOptions =>
{
googleOptions.ClientId = configuration["Authentication:Google:ClientId"];
googleOptions.ClientSecret = configuration["Authentication:Google:ClientSecret"];
});
A AddAuthentication(IServiceCollection, String) túlterhelés beállítja a DefaultScheme tulajdonságot. A AddAuthentication(IServiceCollection, Action<AuthenticationOptions>) túlterhelés lehetővé teszi a hitelesítési beállítások konfigurálását, amely különböző célokra használható alapértelmezett hitelesítési sémák beállítására. Az AddAuthentication
későbbi hívásai felülírják a korábban konfigurált AuthenticationOptions tulajdonságokat.
AuthenticationBuilder hitelesítési kezelőt regisztráló bővítménymetelyeket hitelesítési sémánként csak egyszer lehet meghívni. Túlterhelések léteznek, amelyek lehetővé teszik a séma tulajdonságainak, a séma nevének és a megjelenítendő névnek a konfigurálását.
Bejelentkezés a Google-jal
- Futtassa az alkalmazást, és válassza a Bejelentkezés lehetőséget.
- A Másik szolgáltatás használata a bejelentkezéshez csoportban válassza a Google lehetőséget.
- A böngészőt a rendszer átirányítja a Google-ba hitelesítés céljából.
- Válassza ki a Google-fiókot a bejelentkezéshez vagy a Google hitelesítő adatainak megadásához.
- Ha most először jelentkezik be, megjelenik egy üzenet, amely lehetővé teszi az alkalmazás számára a Google-fiók adatainak elérését.
- A böngésző vissza lesz irányítva az alkalmazásba, ahol be lehet állítani az e-mailt.
A felhasználó most a Google hitelesítő adataival van bejelentkezve.
Hibaelhárítás
- Ha a bejelentkezés nem működik, de nem kap hibát, váltson fejlesztési módra, hogy könnyebben lehessen hibakeresni az alkalmazást és a Google regisztrációt.
- Ha a hely adatbázisa nem a kezdeti migrálás alkalmazásával lett létrehozva, a következő hiba történik: A kérés feldolgozása során egy adatbázisművelet meghiúsult. Az adatbázis létrehozásához és a lap frissítéséhez válassza a Migrálás alkalmazása lehetőséget a hiba továbbhaladásához.
- Az OAuth 2.0 szolgáltató ( például a Google) kérésének sikeres hitelesítése után fellépő HTTP 500-as hibáról, valamint a külső hitelesítés Google for React és egyéb SPA-alkalmazások általi implementálásáról a Middleware nem kezeli a "signin-google" útvonalat a Asp.Net Core Web Api külső bejelentkezési hitelesítésében (
dotnet/AspNetCore.Docs
#14169) történő sikeres hitelesítés után.
Következő lépések
- Ez a cikk a Google-hitelesítést mutatja be. További információ a más külső szolgáltatókkal való hitelesítésről: Külső bejelentkezési szolgáltatók Identity használata a ASP.NET Core-ban.
- Az alkalmazás Azure-ba történő telepítése után állítsa alaphelyzetbe a
ClientSecret
-t a Google API konzolban. - Az Azure portálon állítsa be a
Authentication:Google:ClientId
ésAuthentication:Google:ClientSecret
elemeket alkalmazásbeállításokként. A konfigurációs rendszer úgy van beállítva, hogy beolvassa a környezeti változók kulcsait.