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:

Informace o řešení potíží s ověřováním přihlašovacích údajů uživatele najdete v tématu Řešení potíží s ověřováním přihlašovacích údajů uživatele.

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/nativeclientna .
  4. V části Výchozí typ klienta vyberte yes možnost 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 tenantů. 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. Potom jako veřejný klient vyberte možnost Ano.

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

Následující příklad ukazuje ověření SecretClient z klientské knihovny tajných kódů služby Azure Key Vault pro Javu pomocí DeviceCodeCredential zařízení IoT.

/**
 * 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.

Povolení aplikací pro tok OAuth 2 interaktivního prohlížeče

Pokud chcete použít InteractiveBrowserCredential, musíte zaregistrovat aplikaci v Microsoft Entra ID 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, InteractiveBrowserCredentialBuilderže adresa URL přesměrování je povinná. Přidejte adresu URL pro přesměrování do pododdílu Identifikátory URI pro přesměrování 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í InteractiveBrowserCredentialknihovny .

/**
 * 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();

Přihlašovací údaje hesla uživatelského jména

Pomáhá UsernamePasswordCredential ověřovat veřejnou klientskou aplikaci pomocí přihlašovacích údajů uživatele, které nevyžadují vícefaktorové ověřování. Následující příklad ukazuje ověření SecretClient z klientské knihovny azure-security-keyvault-secrets pomocí UsernamePasswordCredentialknihovny . Uživatel nesmí mít zapnuté vícefaktorové ověřování.

/**
 * Authenticate with username, password.
 */
UsernamePasswordCredential usernamePasswordCredential = new UsernamePasswordCredentialBuilder()
    .clientId("<your app client ID>")
    .username("<your username>")
    .password("<your password>")
    .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(usernamePasswordCredential)
    .buildClient();

Další informace najdete v tématu Microsoft Identity Platform a přihlašovací údaje vlastníka prostředku OAuth 2.0.

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:

Pokud narazíte na problémy související s ověřováním přihlašovacích údajů uživatele, přečtěte si téma Řešení potíží s ověřováním přihlašovacích údajů uživatele.

Jakmile zvládnete ověřování, přečtěte si téma Konfigurace protokolování v sadě Azure SDK pro Javu , kde najdete informace o funkcích protokolování poskytovaných sadou SDK.