Megosztás a következőn keresztül:


Google külső bejelentkezés beállítása a ASP.NET Core-ban

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:

  1. 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.

  2. 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ő) és Authentication: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

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 és Authentication: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.

További erőforrások

Több hitelesítésszolgáltató