DeviceCodeCredential Klasse
- java.
lang. Object - com.
azure. identity. DeviceCodeCredential
- com.
Implementiert
public class DeviceCodeCredential
implements TokenCredential
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 der Dokumentation zur Gerätecodeauthentifizierung.
Erforderliche Konfiguration:
Führen Sie die folgenden Schritte aus, um einen Benutzer über Gerätecodeflow zu authentifizieren:
- Navigieren Sie im Azure-Portal zu Azure Active Directory, und suchen Sie nach Ihrer App-Registrierung.
- Navigieren Sie zum Abschnitt Authentifizierung.
- Überprüfen Sie unter Vorgeschlagen umgeleitete URIs den URI, der mit /common/oauth2/nativeclient endet.
- Wählen Sie unter Standardclienttyp die Option Ja aus, um die Anwendung als öffentlichen Client zu behandeln.
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();
Methodenzusammenfassung
Modifizierer und Typ | Methode und Beschreibung |
---|---|
reactor.core.publisher.Mono<Authentication |
authenticate()
Authentifiziert einen Benutzer über den Gerätecodeflow. |
reactor.core.publisher.Mono<Authentication |
authenticate(TokenRequestContext request)
Authentifiziert einen Benutzer über den Gerätecodeflow. |
reactor.core.publisher.Mono<Access |
getToken(TokenRequestContext request) |
Access |
getTokenSync(TokenRequestContext request) |
Geerbte Methoden von java.lang.Object
Details zur Methode
authenticate
public Mono
Authentifiziert einen Benutzer über den Gerätecodeflow.
Die Anmeldeinformationen erhalten eine Überprüfungs-URL und Code aus Azure Active Directory. Der Benutzer muss zur URL navigieren, den Code eingeben und sich bei Azure Active Directory authentifizieren. Wenn sich der Benutzer erfolgreich authentifiziert, erhalten die Anmeldeinformationen ein Zugriffstoken.
Returns:
authenticate
public Mono
Authentifiziert einen Benutzer über den Gerätecodeflow.
Die Anmeldeinformationen erhalten eine Überprüfungs-URL und Code aus Azure Active Directory. Der Benutzer muss zur URL navigieren, den Code eingeben und sich bei Azure Active Directory authentifizieren. Wenn sich der Benutzer erfolgreich authentifiziert, erhalten die Anmeldeinformationen ein Zugriffstoken.
Parameters:
Returns:
getToken
public Mono
Parameters:
getTokenSync
public AccessToken getTokenSync(TokenRequestContext request)
Parameters: