ConfidentialClientApplication class

Diese Klasse dient zum Abrufen von Token für vertrauliche Clientanwendungen (webApp, webAPI). Vertrauliche Clientanwendungen konfigurieren anwendungsgeheimnisse, Clientzertifikate/Assertionen wie zutreffend

Extends

Konstruktoren

ConfidentialClientApplication(Configuration)

Konstruktor für "ConfidentialClientApplication"

Erforderliche Attribute im Configuration-Objekt sind:

  • clientID: die Anwendungs-ID Ihrer Anwendung. Sie können eine erhalten, indem Sie Ihre Bewerbung bei unserem Anwendungsregistrierungsportal registrieren.
  • authority: die Autoritäts-URL für Ihre Anwendung.
  • Clientanmeldeinformationen: Muss entweder den geheimen Clientschlüssel, das Zertifikat oder die Assertion für vertrauliche Clients festlegen. Sie können einen geheimen Clientschlüssel über das Anwendungsregistrierungsportal abrufen.

In Azure AD ist die Autorität eine URL, die das Formular https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}angibt. Wenn Ihre Anwendung Konten in einem Organisationsverzeichnis unterstützt, ersetzen Sie den Wert "Enter_the_Tenant_Info_Here" durch die Mandanten-ID oder den Mandantennamen (z. B. contoso.microsoft.com). Wenn Ihre Anwendung Konten in einem beliebigen Organisationsverzeichnis unterstützt, ersetzen Sie den Wert "Enter_the_Tenant_Info_Here" durch Organisationen. Wenn Ihre Anwendung Konten in einem Organisationsverzeichnis und persönlichen Microsoft Konten unterstützt, ersetzen Sie den Wert "Enter_the_Tenant_Info_Here" durch den gemeinsamen Wert. Um die Unterstützung nur auf persönliche Microsoft-Konten einzuschränken, ersetzen Sie den Wert "Enter_the_Tenant_Info_Here" durch Verbraucher.

In Azure B2C ist die Autorität das Formular https://{instance}/tfp/{tenant}/{policyName}/{policyName}/ Vollständige B2C-Funktionalität in dieser Bibliothek in zukünftigen Versionen verfügbar.

Methoden

acquireTokenByClientCredential(ClientCredentialRequest)

Erwirbt Token von der Autorität für die Anwendung (nicht für einen Endbenutzer).

acquireTokenOnBehalfOf(OnBehalfOfRequest)

Erwirbt Token von der Autorität für die Anwendung.

Wird in Szenarien verwendet, in denen die aktuelle App ein Dienst der mittleren Ebene ist, der mit einem Token aufgerufen wurde, das einen Endbenutzer darstellt. Die aktuelle App kann das Token (oboAssertion) verwenden, um ein weiteres Token für den Zugriff auf die downstream-Web-API im Namen dieses Benutzers anzufordern.

Die aktuelle Middle-Tier-App hat keine Benutzerinteraktion, um die Zustimmung zu erhalten. In diesem Artikel erfahren Sie, wie Sie vorab ihre Zustimmung für Ihre App auf mittlerer Ebene erhalten. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application

SetAppTokenProvider(IAppTokenProvider)

Dieser Erweiterbarkeitspunkt funktioniert nur für den client_credential-Fluss, d. h. acquireTokenByClientCredential und ist für Azure SDK gedacht, um die Unterstützung von verwalteter Identität zu verbessern.

Geerbte Methoden

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

Erwirbt ein Token durch Austauschen des Autorisierungscodes, der aus dem ersten Schritt des OAuth2.0-Autorisierungscodeflusses empfangen wurde.

getAuthCodeUrl(AuthorizationCodeUrlRequest) kann verwendet werden, um die URL für den ersten Schritt des OAuth2.0-Autorisierungscodeflusses zu erstellen. Stellen Sie sicher, dass Werte für redirectUri und Bereiche in AuthorizationCodeUrlRequest und AuthorizationCodeRequest identisch sind.

acquireTokenByRefreshToken(RefreshTokenRequest)

Erwirbt ein Token, indem das für einen neuen Tokensatz bereitgestellte Aktualisierungstoken ausgetauscht wird.

Diese API wird nur für Szenarien bereitgestellt, in denen Sie von ADAL zu MSAL migrieren möchten. Andernfalls wird empfohlen, dass Sie für automatische Szenarien verwenden acquireTokenSilent() . Bei Verwendung acquireTokenSilent()behandelt MSAL automatisch das Zwischenspeichern und Aktualisieren von Token.

acquireTokenByUsernamePassword(UsernamePasswordRequest)

Erwirbt Token mit Kennworterteilung durch Austauschen des Benutzernamens und Kennworts von Clientanwendungen für Anmeldeinformationen

Die neueste bewährte Methode für OAuth 2.0-Sicherheit verbietet die Kennworterteilung vollständig. Weitere Details zu dieser Empfehlung finden Sie in https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 Microsoft Dokumentation und Empfehlungen:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword

acquireTokenSilent(SilentFlowRequest)

Erwirbt ein Token im Hintergrund, wenn ein Benutzer das Konto angibt, für das das Token angefordert wird.

Diese API erwartet, dass der Benutzer ein Kontoobjekt bereitstellt und im Cache sucht, um das Token abzurufen, falls vorhanden. Es gibt auch einen optionalen Booleschen "forceRefresh", den der Benutzer senden kann, um den Cache für access_token und id_token zu umgehen. Falls die refresh_token abgelaufen ist oder nicht gefunden wird, wird ein Fehler ausgelöst, und der Benutzer wird aufgefordert, eine interaktive Tokenerwerbs-API aufzurufen (z. B.: acquireTokenByCode()).

clearCache()

Löschen des Cache

getAuthCodeUrl(AuthorizationUrlRequest)

Erstellt die URL der Autorisierungsanforderung, sodass der Benutzer Anmeldeinformationen eingeben und der Anwendung zustimmen kann. Die URL zielt auf den /authorize-Endpunkt der Autorität ab, die im Anwendungsobjekt konfiguriert ist.

Sobald der Benutzer seine Anmeldeinformationen und Zustimmungen eingibt, sendet die Autorität eine Antwort auf den in der Anforderung gesendeten Umleitungs-URI und sollte einen Autorisierungscode enthalten, der dann zum Abrufen von Token über acquireTokenByCode(AuthorizationCodeRequest)verwendet werden kann.

getLogger()

Gibt die Loggerinstanz zurück.

getTokenCache()

Ruft den Tokencache für die Anwendung ab.

setLogger(Logger)

Ersetzt den Standardprotokollierer in Konfigurationen durch neuen Logger durch neue Konfigurationen.

Details zum Konstruktor

ConfidentialClientApplication(Configuration)

Konstruktor für "ConfidentialClientApplication"

Erforderliche Attribute im Configuration-Objekt sind:

  • clientID: die Anwendungs-ID Ihrer Anwendung. Sie können eine erhalten, indem Sie Ihre Bewerbung bei unserem Anwendungsregistrierungsportal registrieren.
  • authority: die Autoritäts-URL für Ihre Anwendung.
  • Clientanmeldeinformationen: Muss entweder den geheimen Clientschlüssel, das Zertifikat oder die Assertion für vertrauliche Clients festlegen. Sie können einen geheimen Clientschlüssel über das Anwendungsregistrierungsportal abrufen.

In Azure AD ist die Autorität eine URL, die das Formular https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}angibt. Wenn Ihre Anwendung Konten in einem Organisationsverzeichnis unterstützt, ersetzen Sie den Wert "Enter_the_Tenant_Info_Here" durch die Mandanten-ID oder den Mandantennamen (z. B. contoso.microsoft.com). Wenn Ihre Anwendung Konten in einem beliebigen Organisationsverzeichnis unterstützt, ersetzen Sie den Wert "Enter_the_Tenant_Info_Here" durch Organisationen. Wenn Ihre Anwendung Konten in einem Organisationsverzeichnis und persönlichen Microsoft Konten unterstützt, ersetzen Sie den Wert "Enter_the_Tenant_Info_Here" durch den gemeinsamen Wert. Um die Unterstützung nur auf persönliche Microsoft-Konten einzuschränken, ersetzen Sie den Wert "Enter_the_Tenant_Info_Here" durch Verbraucher.

In Azure B2C ist die Autorität das Formular https://{instance}/tfp/{tenant}/{policyName}/{policyName}/ Vollständige B2C-Funktionalität in dieser Bibliothek in zukünftigen Versionen verfügbar.

new ConfidentialClientApplication(configuration: Configuration)

Parameter

configuration
Configuration

Details zur Methode

acquireTokenByClientCredential(ClientCredentialRequest)

Erwirbt Token von der Autorität für die Anwendung (nicht für einen Endbenutzer).

function acquireTokenByClientCredential(request: ClientCredentialRequest): Promise<null | AuthenticationResult>

Parameter

Gibt zurück

Promise<null | AuthenticationResult>

acquireTokenOnBehalfOf(OnBehalfOfRequest)

Erwirbt Token von der Autorität für die Anwendung.

Wird in Szenarien verwendet, in denen die aktuelle App ein Dienst der mittleren Ebene ist, der mit einem Token aufgerufen wurde, das einen Endbenutzer darstellt. Die aktuelle App kann das Token (oboAssertion) verwenden, um ein weiteres Token für den Zugriff auf die downstream-Web-API im Namen dieses Benutzers anzufordern.

Die aktuelle Middle-Tier-App hat keine Benutzerinteraktion, um die Zustimmung zu erhalten. In diesem Artikel erfahren Sie, wie Sie vorab ihre Zustimmung für Ihre App auf mittlerer Ebene erhalten. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application

function acquireTokenOnBehalfOf(request: OnBehalfOfRequest): Promise<null | AuthenticationResult>

Parameter

Gibt zurück

Promise<null | AuthenticationResult>

SetAppTokenProvider(IAppTokenProvider)

Dieser Erweiterbarkeitspunkt funktioniert nur für den client_credential-Fluss, d. h. acquireTokenByClientCredential und ist für Azure SDK gedacht, um die Unterstützung von verwalteter Identität zu verbessern.

function SetAppTokenProvider(provider: IAppTokenProvider)

Parameter

Details zur geerbten Methode

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

Erwirbt ein Token durch Austauschen des Autorisierungscodes, der aus dem ersten Schritt des OAuth2.0-Autorisierungscodeflusses empfangen wurde.

getAuthCodeUrl(AuthorizationCodeUrlRequest) kann verwendet werden, um die URL für den ersten Schritt des OAuth2.0-Autorisierungscodeflusses zu erstellen. Stellen Sie sicher, dass Werte für redirectUri und Bereiche in AuthorizationCodeUrlRequest und AuthorizationCodeRequest identisch sind.

function acquireTokenByCode(request: AuthorizationCodeRequest, authCodePayLoad?: AuthorizationCodePayload): Promise<AuthenticationResult>

Parameter

authCodePayLoad
AuthorizationCodePayload

Gibt zurück

Geerbt vonClientApplication.acquireTokenByCode

acquireTokenByRefreshToken(RefreshTokenRequest)

Erwirbt ein Token, indem das für einen neuen Tokensatz bereitgestellte Aktualisierungstoken ausgetauscht wird.

Diese API wird nur für Szenarien bereitgestellt, in denen Sie von ADAL zu MSAL migrieren möchten. Andernfalls wird empfohlen, dass Sie für automatische Szenarien verwenden acquireTokenSilent() . Bei Verwendung acquireTokenSilent()behandelt MSAL automatisch das Zwischenspeichern und Aktualisieren von Token.

function acquireTokenByRefreshToken(request: RefreshTokenRequest): Promise<null | AuthenticationResult>

Parameter

Gibt zurück

Promise<null | AuthenticationResult>

Geerbt vonClientApplication.acquireTokenByRefreshToken

acquireTokenByUsernamePassword(UsernamePasswordRequest)

Warnung

Diese API ist nun veraltet.

  • Use a more secure flow instead

Erwirbt Token mit Kennworterteilung durch Austauschen des Benutzernamens und Kennworts von Clientanwendungen für Anmeldeinformationen

Die neueste bewährte Methode für OAuth 2.0-Sicherheit verbietet die Kennworterteilung vollständig. Weitere Details zu dieser Empfehlung finden Sie in https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 Microsoft Dokumentation und Empfehlungen:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword

function acquireTokenByUsernamePassword(request: UsernamePasswordRequest): Promise<null | AuthenticationResult>

Parameter

request
UsernamePasswordRequest

UsenamePasswordRequest

Gibt zurück

Promise<null | AuthenticationResult>

Geerbt vonClientApplication.acquireTokenByUsernamePassword

acquireTokenSilent(SilentFlowRequest)

Erwirbt ein Token im Hintergrund, wenn ein Benutzer das Konto angibt, für das das Token angefordert wird.

Diese API erwartet, dass der Benutzer ein Kontoobjekt bereitstellt und im Cache sucht, um das Token abzurufen, falls vorhanden. Es gibt auch einen optionalen Booleschen "forceRefresh", den der Benutzer senden kann, um den Cache für access_token und id_token zu umgehen. Falls die refresh_token abgelaufen ist oder nicht gefunden wird, wird ein Fehler ausgelöst, und der Benutzer wird aufgefordert, eine interaktive Tokenerwerbs-API aufzurufen (z. B.: acquireTokenByCode()).

function acquireTokenSilent(request: SilentFlowRequest): Promise<AuthenticationResult>

Parameter

Gibt zurück

Geerbt vonClientApplication.acquireTokenSilent

clearCache()

Löschen des Cache

function clearCache()

Geerbt vonClientApplication.clearCache

getAuthCodeUrl(AuthorizationUrlRequest)

Erstellt die URL der Autorisierungsanforderung, sodass der Benutzer Anmeldeinformationen eingeben und der Anwendung zustimmen kann. Die URL zielt auf den /authorize-Endpunkt der Autorität ab, die im Anwendungsobjekt konfiguriert ist.

Sobald der Benutzer seine Anmeldeinformationen und Zustimmungen eingibt, sendet die Autorität eine Antwort auf den in der Anforderung gesendeten Umleitungs-URI und sollte einen Autorisierungscode enthalten, der dann zum Abrufen von Token über acquireTokenByCode(AuthorizationCodeRequest)verwendet werden kann.

function getAuthCodeUrl(request: AuthorizationUrlRequest): Promise<string>

Parameter

Gibt zurück

Promise<string>

Geerbt vonClientApplication.getAuthCodeUrl

getLogger()

Gibt die Loggerinstanz zurück.

function getLogger(): Logger

Gibt zurück

Geerbt vonClientApplication.getLogger

getTokenCache()

Ruft den Tokencache für die Anwendung ab.

function getTokenCache(): TokenCache

Gibt zurück

Geerbt vonClientApplication.getTokenCache

setLogger(Logger)

Ersetzt den Standardprotokollierer in Konfigurationen durch neuen Logger durch neue Konfigurationen.

function setLogger(logger: Logger)

Parameter

logger
Logger

Loggerinstanz

Geerbt vonClientApplication.setLogger