DeviceCodeCredentialBuilder Klasse
- java.
lang. Object - com.
azure. identity. CredentialBuilderBase<T> - com.
azure. identity. AadCredentialBuilderBase<T> - com.
azure. identity. DeviceCodeCredentialBuilder
- com.
- com.
- com.
public class DeviceCodeCredentialBuilder
extends AadCredentialBuilderBase<DeviceCodeCredentialBuilder>
Fluent-Generator für Anmeldeinformationen zum Instanziieren von DeviceCodeCredential.
Die Gerätecodeauthentifizierung ist eine Art von Authentifizierungsfluss, der von Azure Active Directory (Azure AD) angeboten wird und es Benutzern ermöglicht, sich auf Geräten ohne Webbrowser oder Tastatur bei Anwendungen anzumelden. Diese Authentifizierungsmethode ist besonders nützlich für Geräte wie Smart-TVs, Spielkonsolen und IoT-Geräte (Internet der Dinge), die möglicherweise nicht in der Lage sind, einen Benutzernamen und ein Kennwort einzugeben. Bei der Gerätecodeauthentifizierung wird dem Benutzer ein Gerätecode auf dem Gerät angezeigt, der authentifiziert werden muss. Der Benutzer navigiert dann auf einem separaten Gerät zu einem Webbrowser und gibt den Code auf der Microsoft-Anmeldeseite ein. Nachdem der Benutzer den Code eingegeben hat, überprüft Azure AD ihn und fordert den Benutzer auf, sich mit seinen Anmeldeinformationen anzumelden, z. B. einen Benutzernamen und ein Kennwort oder eine MFA-Methode (Multi-Factor Authentication). Die Gerätecodeauthentifizierung kann mit verschiedenen von Azure AD unterstützten Protokollen wie OAuth 2.0 und OpenID Connect initiiert und mit einer Vielzahl von in Azure AD integrierten Anwendungen verwendet werden. DeviceCodeCredential authentifiziert einen Benutzer interaktiv und ruft ein Token auf Geräten mit eingeschränkter Benutzeroberfläche ab. Dies funktioniert, indem der Benutzer aufgefordert wird, eine Anmelde-URL auf einem für Browser aktivierten Computer zu besuchen, wenn die Anwendung versucht, sich zu authentifizieren. Der Benutzer gibt dann den in den Anweisungen genannten Gerätecode zusammen mit seinen Anmeldeinformationen ein. Bei erfolgreicher Authentifizierung wird die Anwendung, die Authentifizierung angefordert hat, auf dem Gerät, auf dem sie ausgeführt wird, erfolgreich authentifiziert. Weitere Informationen finden Sie in den konzeptionellen Kenntnissen und Konfigurationsdetails.
Mit diesen Schritten wird die Anwendung authentifiziert, sie verfügt aber immer noch nicht über die Berechtigung, Sie bei Active Directory anzumelden oder auf Ressourcen in Ihrem Namen zuzugreifen. Um dieses Problem zu beheben, navigieren Sie zu API-Berechtigungen, und aktivieren Sie Microsoft Graph sowie die Ressourcen, auf die Sie zugreifen möchten, z. B. Azure Service Management, Key Vault usw. Sie müssen auch Administrator Ihres Mandanten sein, um Ihrer Anwendung Einwilligung zu erteilen, wenn Sie sich zum ersten Mal anmelden. Wenn Sie die Option für Gerätecodeflow für Ihr Active Directory nicht konfigurieren können, muss Ihre App ggf. mehrinstanzenfähig sein. Wenn Sie Ihre App mehrinstanzenfähig machen möchten, navigieren Sie zum Bereich Authentifizierung und wählen dann Konten in einem beliebigen Organisationsverzeichnis aus. Wählen Sie dann für Anwendung als öffentlichen Client behandeln die Option Ja aus.
Beispiel: Erstellen von DeviceCodeCredential
Im folgenden Codebeispiel wird die Erstellung eines DeviceCodeCredentialveranschaulicht, wobei verwendet wird, um sie DeviceCodeCredentialBuilder zu konfigurieren. Standardmäßig geben die Anmeldeinformationen die Gerätecode-Challenge in der Befehlszeile aus, um zu überschreiben, dass verhalten a challengeConsumer
optional auf dem DeviceCodeCredentialBuilderangegeben werden kann. Nachdem diese Anmeldeinformationen erstellt wurden, werden sie möglicherweise als "credential"-Parameter an den Generator vieler Client-Generatoren des Azure SDK für Java übergeben.
TokenCredential deviceCodeCredential = new DeviceCodeCredentialBuilder()
.build();
Zusammenfassung zum Konstruktor
Konstruktor | Beschreibung | |
---|---|---|
DeviceCodeCredentialBuilder() |
Methodenzusammenfassung
Modifizierer und Typ | Methode und Beschreibung |
---|---|
Device |
additionallyAllowedTenants(String[] additionallyAllowedTenants)
Gibt für mehrinstanzenfähige Anwendungen zusätzliche Mandanten an, für die die Anmeldeinformationen Token abrufen können. |
Device |
additionallyAllowedTenants(List<String> additionallyAllowedTenants)
Gibt für mehrinstanzenfähige Anwendungen zusätzliche Mandanten an, für die die Anmeldeinformationen Token abrufen können. |
Device |
authenticationRecord(AuthenticationRecord authenticationRecord)
Legt die AuthenticationRecord von einer vorherigen Authentifizierung erfasste fest. |
Device |
build()
Erstellt eine neue DeviceCodeCredential mit den aktuellen Konfigurationen. |
Device |
challengeConsumer(Consumer<DeviceCodeInfo> challengeConsumer)
Legt den Consumer so fest, dass er die Gerätecode-Herausforderung erfüllt. |
Device |
disableAutomaticAuthentication()
Deaktiviert die automatische Authentifizierung und verhindert, dass der DeviceCodeCredential Benutzer automatisch aufgefordert wird. |
Device |
tokenCachePersistenceOptions(TokenCachePersistenceOptions tokenCachePersistenceOptions)
Konfiguriert die Cacheoptionen für persistente freigegebene Token und aktiviert den persistenten Tokencache, der standardmäßig deaktiviert ist. |
Geerbte Methoden von AadCredentialBuilderBase
Geerbte Methoden von CredentialBuilderBase
Geerbte Methoden von java.lang.Object
Details zum Konstruktor
DeviceCodeCredentialBuilder
public DeviceCodeCredentialBuilder()
Details zur Methode
additionallyAllowedTenants
public DeviceCodeCredentialBuilder additionallyAllowedTenants(String[] additionallyAllowedTenants)
Gibt für mehrinstanzenfähige Anwendungen zusätzliche Mandanten an, für die die Anmeldeinformationen Token abrufen können. Fügen Sie den Platzhalterwert "*" hinzu, damit die Anmeldeinformationen Token für jeden Mandanten abrufen können, auf dem die Anwendung installiert ist. Wenn kein Wert für TenantId angegeben ist, hat diese Option keine Auswirkung, und die Anmeldeinformationen erhalten Token für jeden angeforderten Mandanten.
Overrides:
DeviceCodeCredentialBuilder.additionallyAllowedTenants(String[] additionallyAllowedTenants)Parameters:
Returns:
additionallyAllowedTenants
public DeviceCodeCredentialBuilder additionallyAllowedTenants(List
Gibt für mehrinstanzenfähige Anwendungen zusätzliche Mandanten an, für die die Anmeldeinformationen Token abrufen können. Fügen Sie den Platzhalterwert "*" hinzu, damit die Anmeldeinformationen Token für jeden Mandanten abrufen können, auf dem die Anwendung installiert ist. Wenn kein Wert für TenantId angegeben ist, hat diese Option keine Auswirkung, und die Anmeldeinformationen erhalten Token für jeden angeforderten Mandanten.
Overrides:
DeviceCodeCredentialBuilder.additionallyAllowedTenants(List<String> additionallyAllowedTenants)Parameters:
Returns:
authenticationRecord
public DeviceCodeCredentialBuilder authenticationRecord(AuthenticationRecord authenticationRecord)
Legt die AuthenticationRecord von einer vorherigen Authentifizierung erfasste fest.
Parameters:
Returns:
build
public DeviceCodeCredential build()
Erstellt eine neue DeviceCodeCredential mit den aktuellen Konfigurationen.
Returns:
challengeConsumer
public DeviceCodeCredentialBuilder challengeConsumer(Consumer
Legt den Consumer so fest, dass er die Gerätecode-Herausforderung erfüllt. Wenn nicht angegeben, wird ein Standard-Consumer verwendet, der die Gerätecode-Infonachricht in stdout ausgibt.
Parameters:
Returns:
disableAutomaticAuthentication
public DeviceCodeCredentialBuilder disableAutomaticAuthentication()
Deaktiviert die automatische Authentifizierung und verhindert, dass der DeviceCodeCredential Benutzer automatisch aufgefordert wird. Wenn die automatische Authentifizierung deaktiviert ist, wird ein AuthenticationRequiredException ausgelöst, getToken(TokenRequestContext request) falls eine Benutzerinteraktion erforderlich ist. Die Anwendung ist dafür verantwortlich, diese Ausnahme zu behandeln und den Benutzer interaktiv aufzurufen authenticate() oder authenticate(TokenRequestContext request) zu authentifizieren.
Returns:
tokenCachePersistenceOptions
public DeviceCodeCredentialBuilder tokenCachePersistenceOptions(TokenCachePersistenceOptions tokenCachePersistenceOptions)
Konfiguriert die Cacheoptionen für persistente freigegebene Token und aktiviert den persistenten Tokencache, der standardmäßig deaktiviert ist. Wenn sie konfiguriert sind, speichern die Anmeldeinformationen Token in einem Cache, der auf dem Computer gespeichert ist und für den aktuellen Benutzer geschützt ist, der von anderen Anmeldeinformationen und Prozessen freigegeben werden kann.
Parameters:
Returns: