ClientAssertionCredential Klasse
- java.
lang. Object - com.
azure. identity. ClientAssertionCredential
- com.
Implementiert
public class ClientAssertionCredential
implements TokenCredential
ClientAssertionCredential ruft ein Token über Clientassertion und Dienstprinzipalauthentifizierung ab. Diese Authentifizierungsmethode bietet eine sichere und skalierbare Möglichkeit für Clientanwendungen, auf Azure-Ressourcen zuzugreifen, ohne dass Benutzer ihre Anmeldeinformationen angeben müssen. Sie wird häufig in Szenarien verwendet, in denen eine Clientanwendung im Auftrag eines Benutzers auf Azure-Ressourcen zugreifen muss, z. B. in einer Anwendungsarchitektur mit mehreren Ebenen. Bei dieser Authentifizierungsmethode erstellt die Clientanwendung ein JSON-Webtoken (JWT), das Informationen zum Dienstprinzipal (z. B. seine Client-ID und Mandanten-ID) enthält und es mit einem geheimen Clientschlüssel signiert. Der Client sendet dieses Token dann als Identitätsnachweis an Azure Active Directory (Azure AD). Azure AD überprüft die Tokensignatur und überprüft, ob der Dienstprinzipal über die erforderlichen Berechtigungen für den Zugriff auf die angeforderte Azure-Ressource verfügt. Wenn das Token gültig und der Dienstprinzipal autorisiert ist, stellt Azure AD ein Zugriffstoken aus, das die Clientanwendung für den Zugriff auf die angeforderte Ressource verwenden kann. ClientAssertionCredential ruft ein Zugriffstoken mit einer Clientclientassertion für eine Dienstprinzipal-/registrierte AAD-Anwendung ab. Die tenantId, clientId und clientAssertion des Dienstprinzipals sind erforderlich, damit diese Anmeldeinformationen ein Zugriffstoken abrufen können. Sie kann sowohl in von Azure gehosteten als auch in lokalen Entwicklungsumgebungen für die Authentifizierung verwendet werden.
Als Voraussetzung ist ein Dienstprinzipal erforderlich, um diesen Authentifizierungsmechanismus zu verwenden. Wenn Sie nicht über einen Dienstprinzipal verfügen, finden Sie weitere Informationen unter Erstellen eines Dienstprinzipals mit der Azure CLI.
Beispiel: Erstellen eines einfachen ClientAssertionCredential
Im folgenden Codebeispiel wird die Erstellung eines ClientAssertionCredentialveranschaulicht, wobei verwendet wird, um sie ClientAssertionCredentialBuilder zu konfigurieren. Die tenantId
Parameter und certificate
clientId
sind erforderlich, um zu erstellenClientAssertionCredential. 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 clientAssertionCredential = new ClientAssertionCredentialBuilder()
.tenantId(tenantId)
.clientId(clientId)
.clientAssertion(() -> "<Client-Assertion>")
.build();
Beispiel: Erstellen eines ClientAssertionCredential hinter einem Proxy
Im folgenden Codebeispiel wird die Erstellung eines ClientAssertionCredentialveranschaulicht, wobei verwendet wird, um sie ClientAssertionCredentialBuilder zu konfigurieren. Die tenantId
Parameter und clientAssertion
clientId
sind erforderlich, um zu erstellenClientAssertionCredential. THe proxyOptions
kann optional für einen Proxy konfiguriert werden. 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 assertionCredential = new ClientAssertionCredentialBuilder()
.tenantId(tenantId)
.clientId(clientId)
.clientAssertion(() -> "<Client-Assertion>")
.proxyOptions(new ProxyOptions(Type.HTTP, new InetSocketAddress("10.21.32.43", 5465)))
.build();
Methodenzusammenfassung
Modifizierer und Typ | Methode und Beschreibung |
---|---|
reactor.core.publisher.Mono<Access |
getToken(TokenRequestContext request) |
Access |
getTokenSync(TokenRequestContext request) |
Geerbte Methoden von java.lang.Object
Details zur Methode
getToken
public Mono
Parameters:
getTokenSync
public AccessToken getTokenSync(TokenRequestContext request)
Parameters: