Sdílet prostřednictvím


Ověřování Azure pomocí přihlašovacích údajů uživatele

Tento článek popisuje, jak knihovna Identit Azure podporuje ověřování tokenu Microsoft Entra pomocí přihlašovacích údajů zadaných uživatelem. Tato podpora je možná prostřednictvím sady implementací TokenCredential, které jsou popsány v tomto článku.

Tento článek se zabývá následujícími tématy:

Přihlašovací údaje kódu zařízení

Přihlašovací údaje kódu zařízení interaktivně ověřuje uživatele na zařízeních s omezeným uživatelským rozhraním. Funguje tak, že uživatele vyzve k návštěvě přihlašovací adresy URL na počítači s podporou prohlížeče, když se aplikace pokusí ověřit. Uživatel pak zadá kód zařízení uvedený v pokynech spolu s přihlašovacími údaji. Po úspěšném ověření se aplikace, u které bylo požadováno ověření, úspěšně ověří na zařízení, na kterém běží.

Další informace najdete v tématu Microsoft Identity Platform a tok udělení autorizace zařízení OAuth 2.0.

Povolení aplikací pro tok kódu zařízení

Pokud chcete ověřit uživatele prostřednictvím toku kódu zařízení, postupujte následovně:

  1. Na webu Azure Portal přejděte na ID Microsoft Entra a najděte registraci vaší aplikace.
  2. Přejděte do části Ověřování .
  3. V části Navrhované přesměrované identifikátory URI zkontrolujte identifikátor URI, který končí /common/oauth2/nativeclient.
  4. V části Výchozí typ klienta vyberte yes pro Treat application as a public client.

Tyto kroky umožňují aplikaci ověřit, ale přesto nemá oprávnění k přihlášení k ID Microsoft Entra nebo k přístupu k prostředkům vaším jménem. Pokud chcete tento problém vyřešit, přejděte na oprávnění rozhraní API a povolte Microsoft Graph a prostředky, ke které chcete získat přístup, jako je key Vault.

Při prvním přihlášení musíte být také správcem vašeho tenanta, abyste udělili souhlas s vaší aplikací.

Pokud ve svém ID Microsoft Entra nemůžete nakonfigurovat možnost toku kódu zařízení, může to vyžadovat, aby vaše aplikace byla více-tenantská. Pokud chcete aplikaci nastavit jako více tenantů, přejděte na panel Ověřování a vyberte Účty v libovolném adresáři organizace. Poté zvolte ano pro Ošetřit aplikaci jako veřejný klient.

Ověření uživatelského účtu pomocí toku kódu zařízení

Následující příklad demonstruje autentizaci SecretClient z klientské knihovny Azure Key Vault Secret pro Javu pomocí DeviceCodeCredential na IoT zařízení.

/**
 * Authenticate with device code credential.
 */
DeviceCodeCredential deviceCodeCredential = new DeviceCodeCredentialBuilder()
    .challengeConsumer(challenge -> {
    // Lets the user know about the challenge.
    System.out.println(challenge.getMessage());
    }).build();

// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
    .vaultUrl("https://<your Key Vault name>.vault.azure.net")
    .credential(deviceCodeCredential)
    .buildClient();

Přihlašovací údaje interaktivního prohlížeče

Tyto přihlašovací údaje interaktivně ověřuje uživatele pomocí výchozího systémového prohlížeče a nabízí bezproblémové ověřování tím, že vám umožní použít vlastní přihlašovací údaje k ověření vaší aplikace.

Povolit aplikace pro interaktivní tok OAuth 2 v prohlížeči

Pokud chcete použít InteractiveBrowserCredential, musíte v Microsoft Entra ID zaregistrovat aplikaci s oprávněními k přihlášení jménem uživatele. Postupujte podle předchozích kroků pro tok kódu zařízení a zaregistrujte aplikaci. Jak už bylo zmíněno dříve, správce vašeho tenanta musí udělit souhlas s vaší aplikací, aby se mohl přihlásit jakýkoli uživatelský účet.

Můžete si všimnout v InteractiveBrowserCredentialBuilder, že adresa URL přesměrování je povinná. Přidejte adresu URL pro přesměrování do pododdílu „Přesměrování URI“ v části „Ověřování“ registrované aplikace Microsoft Entra.

Interaktivní ověření uživatelského účtu v prohlížeči

Následující příklad ukazuje ověření SecretClient z klientské knihovny azure-security-keyvault-secrets pomocí InteractiveBrowserCredential.

/**
 * Authenticate interactively in the browser.
 */
InteractiveBrowserCredential interactiveBrowserCredential = new InteractiveBrowserCredentialBuilder()
    .clientId("<your app client ID>")
    .redirectUrl("YOUR_APP_REGISTERED_REDIRECT_URL")
    .build();

// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
    .vaultUrl("https://<your Key Vault name>.vault.azure.net")
    .credential(interactiveBrowserCredential)
    .buildClient();

Další kroky

Tento článek se zabývá ověřováním pomocí přihlašovacích údajů uživatele. Tato forma ověřování je jedním z několika způsobů, jak se můžete ověřit v sadě Azure SDK pro Javu. Následující články popisují další způsoby:

Jakmile zvládnete ověřování, podívejte se na Konfigurace protokolování v sadě Azure SDK pro Javu, kde najdete informace o funkcích protokolování poskytovaných sadou SDK.