Přidání přihlášení pomocí účtu Azure Active Directory do webové aplikace Spring
V tomto článku se dozvíte, jak vyvíjet webovou aplikaci Spring, která podporuje přihlašování pomocí účtu Azure Active Directory (Azure AD). Po dokončení všech kroků v tomto článku se webová aplikace přesměruje na přihlašovací stránku Azure AD, když k ní přistupuje anonymně. Následující snímek obrazovky ukazuje přihlašovací stránku Azure AD:
Požadavky
K dokončení kroků v tomto článku jsou vyžadovány následující požadavky:
- Podporovaná sada Java Development Kit (JDK). Další informace o sadách JDK, které se dají použít při vývoji v Azure, najdete v tématu Podpora Javy v Azure a Azure Stack.
- Apache Maven verze 3.0 nebo vyšší.
- Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet.
Důležité
K dokončení kroků v tomto článku se vyžaduje Spring Boot verze 2.5 nebo vyšší.
Vytvoření aplikace pomocí aplikace Spring Initializr
Přejděte na adresu https://start.spring.io/.
Určete, že chcete vygenerovat projekt Maven v Javě, zadejte názvy skupiny (Group) a artefaktu (Artifact).
Přidejte závislosti pro Spring Web, Azure Active Directory a klienta OAuth2.
V dolní části stránky vyberte tlačítko GENEROVAT .
Po zobrazení výzvy stáhněte projekt na místní počítač.
Vytvoření instance Azure Active Directory
Vytvoření instance Active Directory
Pokud jste správcem existující instance, můžete tento proces přeskočit.
Přihlaste se na adrese https://portal.azure.com.
Vyberte Všechny služby, pak Identita a pak Azure Active Directory.
Zadejte Název organizace a Počáteční název domény. Zkopírujte úplnou adresu URL adresáře. Adresu URL použijete k přidání uživatelských účtů později v tomto kurzu. (Příklad:
azuresampledirectory.onmicrosoft.com
.)Zkopírujte úplnou adresu URL adresáře. Adresu URL použijete k přidání uživatelských účtů později v tomto kurzu. (Příklad:
azuresampledirectory.onmicrosoft.com
.).Až budete hotovi, vyberte Vytvořit. Vytvoření nového prostředku bude trvat několik minut.
Po dokončení vyberte zobrazený odkaz pro přístup k novému adresáři.
Zkopírujte ID tenanta. Hodnotu ID použijete ke konfiguraci souboru application.properties později v tomto kurzu.
Přidání registrace aplikace pro aplikaci Spring Boot
V nabídce portálu vyberte Registrace aplikací a pak vyberte Zaregistrovat aplikaci.
Zadejte aplikaci a pak vyberte Zaregistrovat.
Jakmile se zobrazí stránka pro registraci aplikace, zkopírujte ID aplikace (klienta) a ID adresáře (tenanta). Tyto hodnoty použijete ke konfiguraci souboru application.properties dále v tomto kurzu.
V levém navigačním podokně vyberte Tajné kódy certifikátů&. Pak vyberte Nový tajný klíč klienta.
Přidejte Popis a v seznamu Vypršení platnosti vyberte dobu trvání. Vyberte Přidat. Hodnota klíče se vyplní automaticky.
Zkopírujte a uložte hodnotu tajného klíče klienta a nakonfigurujte soubor application.properties dále v tomto kurzu. (Tuto hodnotu nebudete moct později načíst.)
Na hlavní stránce registrace aplikace vyberte Ověřování a vyberte Přidat platformu. Pak vyberte Webové aplikace.
Jako nový identifikátor URI pro přesměrování zadejte http://localhost:8080/login/oauth2/code/ a pak vyberte Konfigurovat.
Pokud jste upravili souborpom.xml tak, aby používal počáteční verzi Azure AD starší než 3.0.0: V části Implicitní udělení a hybridní toky vyberte Tokeny ID (používané pro implicitní a hybridní toky) a pak vyberte Uložit.
Přidejte do adresáře uživatelský účet a přidejte ho do role aplikace.
Na stránce Přehled služby Active Directory vyberte Uživatelé a pak vyberte Nový uživatel.
Po zobrazení panelu Uživatel zadejte Uživatelské jméno a Jméno. Potom vyberte Vytvořit.
Poznámka
Při zadávání uživatelského jména musíte zadat adresu URL adresáře z dřívější části tohoto kurzu. Příklad:
test-user@azuresampledirectory.onmicrosoft.com
Na hlavní stránce registrace aplikace vyberte Role aplikace a pak vyberte Vytvořit roli aplikace. Zadejte hodnoty pro pole formuláře, vyberte Chcete povolit tuto roli aplikace? a pak vyberte Použít.
Na stránce Přehled adresáře Azure AD vyberte Podnikové aplikace.
Vyberte Všechny aplikace a pak vyberte aplikaci, do které jste v předchozím kroku přidali roli aplikace.
Vyberte Uživatelé a skupiny a pak vyberte Přidat uživatele nebo skupinu.
V části Uživatelé vyberte Žádné vybrané. Vyberte uživatele, který jste vytvořili dříve, vyberte Vybrat a pak vyberte Přiřadit. Pokud jste dříve vytvořili více než jednu roli aplikace, vyberte roli.
Zpět na panel Uživatelé, vyberte testovacího uživatele, vyberte Resetovat heslo a zkopírujte heslo. Heslo použijete při přihlášení k aplikaci později v tomto kurzu.
Konfigurace a kompilace aplikace
Extrahujte soubory z archivu projektu, který jste vytvořili a stáhli v dřívější části tohoto kurzu, do nějakého adresáře.
V projektu přejděte do složky src/main/resources a pak otevřete soubor application.properties v textovém editoru.
Zadejte nastavení pro registraci aplikace pomocí hodnot, které jste vytvořili dříve. Například:
# Enable related features. spring.cloud.azure.active-directory.enabled=true # Specifies your Active Directory ID: spring.cloud.azure.active-directory.profile.tenant-id=22222222-2222-2222-2222-222222222222 # Specifies your App Registration's Application ID: spring.cloud.azure.active-directory.credential.client-id=11111111-1111-1111-1111-1111111111111111 # Specifies your App Registration's secret key: spring.cloud.azure.active-directory.credential.client-secret=AbCdEfGhIjKlMnOpQrStUvWxYz==
Kde:
Parametr Popis spring.cloud.azure.active-directory.enabled
Povolení funkcí poskytovaných spring-cloud-azure-starter-active-directory spring.cloud.azure.active-directory.profile.tenant-id
Obsahuje ID adresáře vaší služby Active Directory z dřívější části. spring.cloud.azure.active-directory.credential.client-id
Obsahuje ID aplikace z registrace vaší aplikace, kterou jste provedli dříve. spring.cloud.azure.active-directory.credential.client-secret
Obsahuje hodnotu registračního klíče vaší aplikace, který jste vytvořili dříve. Uložte a zavřete soubor application.properties.
Ve zdrojové složce Java vaší aplikace vytvořte složku controller. Například: src/main/java/com/wingtiptoys/security/controller.
Ve složce controller vytvořte nový soubor Java HelloController.java a otevřete ho v textovém editoru.
Do souboru zadejte následující kód a pak ho uložte a zavřete:
package com.wingtiptoys.security; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import org.springframework.security.access.prepost.PreAuthorize; @RestController public class HelloController { @GetMapping("Admin") @ResponseBody @PreAuthorize("hasAuthority('APPROLE_Admin')") public String Admin() { return "Admin message"; } }
Sestavení a otestování aplikace
Otevřete příkazový řádek a přejděte do složky, ve které se nachází soubor pom.xml vaší aplikace.
Sestavte aplikaci Spring Boot pomocí Mavenu a spusťte ji. Příklad:
mvn clean package mvn spring-boot:run
Jakmile maven sestaví a spustí vaši aplikaci, otevřete
http://localhost:8080/Admin
ji ve webovém prohlížeči. Měla by se zobrazit výzva k zadání uživatelského jména a hesla.Poznámka
Pokud se jedná o první přihlášení pomocí nového uživatelského účtu, může se zobrazit výzva ke změně hesla.
Po úspěšném přihlášení by se měl zobrazit ukázkový text "Správa zprávy" z kontroleru.
Souhrn
V tomto kurzu jste pomocí úvodní sady Azure Active Directory vytvořili novou webovou aplikaci v Javě, nakonfigurovali jste nový Azure AD tenanta, zaregistrovali jste novou aplikaci v tenantovi a pak jste aplikaci nakonfigurovali tak, aby k ochraně webové aplikace používala poznámky a třídy Spring.
Viz také
- Informace o nových možnostech uživatelského rozhraní najdete v průvodci školením registrace nového Azure Portal aplikace.
Další kroky
Pokud se chcete dozvědět více o architektuře Spring a Azure, přejděte do centra dokumentace Spring v Azure.