Azure-verificatie met gebruikersreferenties
In dit artikel wordt beschreven hoe de Azure Identity-bibliotheek microsoft Entra-tokenverificatie ondersteunt met door de gebruiker verstrekte referenties. Deze ondersteuning wordt mogelijk gemaakt via een set TokenCredential-implementaties die in dit artikel worden besproken.
In dit artikel worden de volgende onderwerpen behandeld:
- Referentie voor apparaatcode
- Interactieve browserreferenties
- Referenties voor gebruikersnaamwachtwoord
Zie Problemen met gebruikersreferentieverificatie oplossen voor het oplossen van verificatie van gebruikersreferenties.
Referentie voor apparaatcode
Met de referentie voor apparaatcode wordt een gebruiker interactief geverifieerd op apparaten met een beperkte gebruikersinterface. Het werkt door de gebruiker te vragen een aanmeldings-URL op een browsercomputer te bezoeken wanneer de toepassing probeert te verifiëren. De gebruiker voert vervolgens de apparaatcode in die wordt vermeld in de instructies, samen met de aanmeldingsreferenties. Na een geslaagde verificatie wordt de toepassing die verificatie heeft aangevraagd, geverifieerd op het apparaat waarop deze wordt uitgevoerd.
Zie Microsoft Identity Platform en de stroom voor het verlenen van OAuth 2.0-apparaatautorisatie voor meer informatie.
Toepassingen inschakelen voor apparaatcodestroom
Voer de volgende stappen uit om een gebruiker te verifiëren via de apparaatcodestroom:
- Ga naar Microsoft Entra-id in Azure Portal en zoek uw app-registratie.
- Navigeer naar de sectie Verificatie .
- Controleer onder Voorgestelde omgeleide URI's de URI die eindigt op
/common/oauth2/nativeclient
. - Selecteer
yes
onder Standaardclienttype voorTreat application as a public client
.
Met deze stappen kan de toepassing worden geverifieerd, maar u bent nog steeds niet gemachtigd om u aan te melden bij Microsoft Entra-id of om namens u toegang te krijgen tot resources. Als u dit probleem wilt oplossen, gaat u naar API-machtigingen en schakelt u Microsoft Graph en de resources in die u wilt openen, zoals Key Vault.
U moet ook de beheerder van uw tenant zijn om toestemming te verlenen aan uw toepassing wanneer u zich voor het eerst aanmeldt.
Als u de optie voor de apparaatcodestroom niet kunt configureren op uw Microsoft Entra-id, moet uw app mogelijk meerdere tenants hebben. Als u van uw app meerdere tenants wilt maken, gaat u naar het deelvenster Verificatie en selecteert u Vervolgens Accounts in een organisatiemap. Selecteer vervolgens Ja voor de toepassing Behandelen als openbare client.
Een gebruikersaccount verifiëren met apparaatcodestroom
In het volgende voorbeeld ziet u hoe u de SecretClient
verificatie uitvoert vanuit de Azure Key Vault Secret-clientbibliotheek voor Java met behulp van het DeviceCodeCredential
op een IoT-apparaat.
/**
* 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();
Interactieve browserreferenties
Deze referentie verifieert interactief een gebruiker met de standaardsysteembrowser en biedt een soepele verificatie-ervaring door u uw eigen referenties te laten gebruiken om uw toepassing te verifiëren.
Toepassingen inschakelen voor een interactieve OAuth 2-stroom
Als u wilt gebruiken InteractiveBrowserCredential
, moet u een toepassing registreren in Microsoft Entra ID met machtigingen om u namens een gebruiker aan te melden. Volg de vorige stappen voor de apparaatcodestroom om uw toepassing te registreren. Zoals eerder vermeld, moet een beheerder van uw tenant toestemming verlenen aan uw toepassing voordat een gebruikersaccount zich kan aanmelden.
U ziet mogelijk dat InteractiveBrowserCredentialBuilder
er een omleidings-URL vereist is. Voeg de omleidings-URL toe aan de subsectie Omleidings-URI's onder de sectie Verificatie van uw geregistreerde Microsoft Entra-toepassing.
Een gebruikersaccount interactief verifiëren in de browser
In het volgende voorbeeld ziet u hoe u de SecretClient
clientbibliotheek azure-security-keyvault-secrets kunt verifiëren met behulp van de 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();
Referenties voor gebruikersnaamwachtwoord
Dit UsernamePasswordCredential
helpt bij het verifiëren van een openbare clienttoepassing met behulp van de gebruikersreferenties waarvoor geen meervoudige verificatie is vereist. In het volgende voorbeeld ziet u hoe u de SecretClient
clientbibliotheek azure-security-keyvault-secrets kunt verifiëren met behulp van de UsernamePasswordCredential
. De gebruiker mag meervoudige verificatie niet hebben ingeschakeld.
/**
* 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();
Zie Microsoft Identity Platform en OAuth 2.0 Resource Owner Password Credentials voor meer informatie.
Volgende stappen
Dit artikel heeft betrekking op verificatie met gebruikersreferenties. Deze vorm van verificatie is een van de verschillende manieren waarop u zich kunt verifiëren in de Azure SDK voor Java. In de volgende artikelen worden andere manieren beschreven:
- Azure-verificatie in ontwikkelomgevingen
- Toepassingen verifiëren die worden gehost in Azure
- Verificatie met service-principals
Als u problemen ondervindt met betrekking tot verificatie van gebruikersreferenties, raadpleegt u Problemen met verificatie van gebruikersreferenties oplossen.
Nadat u de verificatie hebt beheerd, raadpleegt u Logboekregistratie configureren in de Azure SDK voor Java voor informatie over de functionaliteit voor logboekregistratie die door de SDK wordt geboden.