PublicClientApplication class
Diese Klasse wird verwendet, um Token für öffentliche Clientanwendungen (Desktop, Mobil) zu erwerben. Öffentliche Clientanwendungen sind nicht vertrauenswürdig, um geheime Anwendungsschlüssel sicher zu speichern, und daher können nur Token im Namen eines Benutzers angefordert werden.
- Extends
Konstruktoren
| Public |
Wichtige Attribute im Configuration-Objekt für die Authentifizierung sind:
AAD-Behörden sind der Form
Azure B2C-Behörden sind der Form https://{instance}/{tenant}/{policy}. Jede Richtlinie gilt als eigene Autorität. Sie müssen alle bekanntenAuthoritäten zum Zeitpunkt der Clientanwendungserstellung festlegen. ADFS-Rechtsgrundlagen sind das Formular https://{instance}/adfs. |
Methoden
| acquire |
Erwirbt ein Token von der Autorität mithilfe des OAuth2.0-Gerätecodeflusses. Dieser Fluss wurde für Geräte entwickelt, die keinen Zugriff auf einen Browser haben oder Eingabeeinschränkungen haben. Der Autorisierungsserver gibt ein DeviceCode-Objekt mit einem Überprüfungscode, einem Endbenutzercode und dem Endbenutzerüberprüfungs-URI aus. Das DeviceCode-Objekt wird über einen Rückruf bereitgestellt, und der Endbenutzer sollte angewiesen werden, ein anderes Gerät zum Navigieren zum Überprüfungs-URI für eingabeanmeldeinformationen zu verwenden. Da der Client eingehende Anforderungen nicht empfangen kann, fragt er den Autorisierungsserver wiederholt ab, bis der Endbenutzer die Eingabe der Anmeldeinformationen abgeschlossen hat. |
| acquire |
Erwirbt ein Token interaktiv über den Browser, indem ein Autorisierungscode angefordert und dann für ein Token ausgetauscht wird. |
| acquire |
Gibt ein Token zurück, das entweder aus dem Cache abgerufen wurde, oder indem das Aktualisierungstoken für ein neues Zugriffstoken ausgetauscht wird. Wenn die Brokererstellung aktiviert ist, wird die Tokenanforderung vom Broker gewartet. |
| get |
Gibt alle zwischengespeicherten Konten für diese Anwendung zurück. Wenn die Brokererstellung aktiviert ist, wird diese Anforderung vom Broker gewartet. |
| sign |
Entfernt Cacheartefakte, die dem angegebenen Konto zugeordnet sind. |
Geerbte Methoden
| acquire |
Erwirbt ein Token durch Austauschen des Autorisierungscodes, der aus dem ersten Schritt des OAuth2.0-Autorisierungscodeflusses empfangen wurde.
|
| acquire |
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 |
| acquire |
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 |
| clear |
Löschen des Cache |
| get |
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 |
| get |
Gibt die Loggerinstanz zurück. |
| get |
Ruft den Tokencache für die Anwendung ab. |
| set |
Ersetzt den Standardprotokollierer in Konfigurationen durch neuen Logger durch neue Konfigurationen. |
Details zum Konstruktor
PublicClientApplication(Configuration)
Wichtige Attribute im Configuration-Objekt für die Authentifizierung 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.
AAD-Behörden sind der Form https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}.
- 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.
Azure B2C-Behörden sind der Form https://{instance}/{tenant}/{policy}. Jede Richtlinie gilt als eigene Autorität. Sie müssen alle bekanntenAuthoritäten zum Zeitpunkt der Clientanwendungserstellung festlegen.
ADFS-Rechtsgrundlagen sind das Formular https://{instance}/adfs.
new PublicClientApplication(configuration: Configuration)
Parameter
- configuration
- Configuration
Details zur Methode
acquireTokenByDeviceCode(DeviceCodeRequest)
Erwirbt ein Token von der Autorität mithilfe des OAuth2.0-Gerätecodeflusses. Dieser Fluss wurde für Geräte entwickelt, die keinen Zugriff auf einen Browser haben oder Eingabeeinschränkungen haben. Der Autorisierungsserver gibt ein DeviceCode-Objekt mit einem Überprüfungscode, einem Endbenutzercode und dem Endbenutzerüberprüfungs-URI aus. Das DeviceCode-Objekt wird über einen Rückruf bereitgestellt, und der Endbenutzer sollte angewiesen werden, ein anderes Gerät zum Navigieren zum Überprüfungs-URI für eingabeanmeldeinformationen zu verwenden. Da der Client eingehende Anforderungen nicht empfangen kann, fragt er den Autorisierungsserver wiederholt ab, bis der Endbenutzer die Eingabe der Anmeldeinformationen abgeschlossen hat.
function acquireTokenByDeviceCode(request: DeviceCodeRequest): Promise<null | AuthenticationResult>
Parameter
- request
- DeviceCodeRequest
Gibt zurück
Promise<null | AuthenticationResult>
acquireTokenInteractive(InteractiveRequest)
Erwirbt ein Token interaktiv über den Browser, indem ein Autorisierungscode angefordert und dann für ein Token ausgetauscht wird.
function acquireTokenInteractive(request: InteractiveRequest): Promise<AuthenticationResult>
Parameter
- request
- InteractiveRequest
Gibt zurück
Promise<AuthenticationResult>
acquireTokenSilent(SilentFlowRequest)
Gibt ein Token zurück, das entweder aus dem Cache abgerufen wurde, oder indem das Aktualisierungstoken für ein neues Zugriffstoken ausgetauscht wird. Wenn die Brokererstellung aktiviert ist, wird die Tokenanforderung vom Broker gewartet.
function acquireTokenSilent(request: SilentFlowRequest): Promise<AuthenticationResult>
Parameter
- request
- SilentFlowRequest
Entwickler hat SilentFlowRequest bereitgestellt
Gibt zurück
Promise<AuthenticationResult>
getAllAccounts()
Gibt alle zwischengespeicherten Konten für diese Anwendung zurück. Wenn die Brokererstellung aktiviert ist, wird diese Anforderung vom Broker gewartet.
function getAllAccounts(): Promise<AccountInfo[]>
Gibt zurück
Promise<AccountInfo[]>
signOut(SignOutRequest)
Entfernt Cacheartefakte, die dem angegebenen Konto zugeordnet sind.
function signOut(request: SignOutRequest): Promise<void>
Parameter
- request
- SignOutRequest
Entwickler bereitgestellt SignOutRequest
Gibt zurück
Promise<void>
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
- request
- AuthorizationCodeRequest
- authCodePayLoad
- AuthorizationCodePayload
Gibt zurück
Promise<AuthenticationResult>
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
- request
- RefreshTokenRequest
Gibt zurück
Promise<null | AuthenticationResult>
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>
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
- request
- AuthorizationUrlRequest
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