Freigeben über


DeviceCodeCredentialBuilder Klasse

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
DeviceCodeCredentialBuilder additionallyAllowedTenants(String[] additionallyAllowedTenants)

Gibt für mehrinstanzenfähige Anwendungen zusätzliche Mandanten an, für die die Anmeldeinformationen Token abrufen können.

DeviceCodeCredentialBuilder additionallyAllowedTenants(List<String> additionallyAllowedTenants)

Gibt für mehrinstanzenfähige Anwendungen zusätzliche Mandanten an, für die die Anmeldeinformationen Token abrufen können.

DeviceCodeCredentialBuilder authenticationRecord(AuthenticationRecord authenticationRecord)

Legt die AuthenticationRecord von einer vorherigen Authentifizierung erfasste fest.

DeviceCodeCredential build()

Erstellt eine neue DeviceCodeCredential mit den aktuellen Konfigurationen.

DeviceCodeCredentialBuilder challengeConsumer(Consumer<DeviceCodeInfo> challengeConsumer)

Legt den Consumer so fest, dass er die Gerätecode-Herausforderung erfüllt.

DeviceCodeCredentialBuilder disableAutomaticAuthentication()

Deaktiviert die automatische Authentifizierung und verhindert, dass der DeviceCodeCredential Benutzer automatisch aufgefordert wird.

DeviceCodeCredentialBuilder 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:

additionallyAllowedTenants - die zusätzlich zulässigen Mandanten.

Returns:

Eine aktualisierte instance dieses Generators mit den konfigurierten zusätzlichen Mandanten.

additionallyAllowedTenants

public DeviceCodeCredentialBuilder additionallyAllowedTenants(List 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(List<String> additionallyAllowedTenants)

Parameters:

additionallyAllowedTenants - die zusätzlich zulässigen Mandanten.

Returns:

Eine aktualisierte instance dieses Generators mit den konfigurierten zusätzlichen Mandanten.

authenticationRecord

public DeviceCodeCredentialBuilder authenticationRecord(AuthenticationRecord authenticationRecord)

Legt die AuthenticationRecord von einer vorherigen Authentifizierung erfasste fest.

Parameters:

authenticationRecord - der zu konfigurierende Authentifizierungsdatensatz.

Returns:

Eine aktualisierte instance dieses Generators mit dem konfigurierten Authentifizierungsdatensatz.

build

public DeviceCodeCredential build()

Erstellt eine neue DeviceCodeCredential mit den aktuellen Konfigurationen.

Returns:

a DeviceCodeCredential mit den aktuellen Konfigurationen.

challengeConsumer

public DeviceCodeCredentialBuilder challengeConsumer(Consumer challengeConsumer)

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:

challengeConsumer - Eine Methode, die es dem Benutzer ermöglicht, die Gerätecode-Herausforderung zu erfüllen.

Returns:

InteractiveBrowserCredentialBuilder selbst

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:

Eine aktualisierte instance dieses Generators mit deaktivierter automatischer Authentifizierung.

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:

tokenCachePersistenceOptions - Die Konfigurationsoptionen für den Tokencache

Returns:

Eine aktualisierte instance dieses Generators mit konfigurierten Tokencacheoptionen.

Gilt für: