ConfidentialClientApplication class

Deze klasse moet worden gebruikt voor het verkrijgen van tokens voor vertrouwelijke clienttoepassingen (webApp, webAPI). Vertrouwelijke clienttoepassingen configureren toepassingsgeheimen, clientcertificaten/asserties indien van toepassing

Uitbreiding

Constructors

ConfidentialClientApplication(Configuration)

Constructor voor ConfidentialClientApplication

Vereiste kenmerken in het configuratieobject zijn:

  • clientID: de toepassings-id van uw toepassing. U kunt er een verkrijgen door uw toepassing te registreren bij onze portal voor toepassingsregistratie
  • instantie: de URL van de instantie voor uw toepassing.
  • clientreferentie: moet clientgeheim, certificaat of assertie instellen voor vertrouwelijke clients. U kunt een clientgeheim verkrijgen via de portal voor toepassingsregistratie.

In Azure AD is de instantie een URL die het formulier https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}aangeeft. Als uw toepassing accounts in één organisatiemap ondersteunt, vervangt u de waarde 'Enter_the_Tenant_Info_Here' door de tenant-id of tenantnaam (bijvoorbeeld contoso.microsoft.com). Als uw toepassing accounts in een organisatiemap ondersteunt, vervangt u de waarde 'Enter_the_Tenant_Info_Here' door organisaties. Als uw toepassing accounts in een organisatiedirectory en persoonlijke Microsoft accounts ondersteunt, vervangt u de waarde 'Enter_the_Tenant_Info_Here' door algemene waarden. Als u alleen ondersteuning wilt beperken tot persoonlijke Microsoft-accounts, vervangt u de waarde 'Enter_the_Tenant_Info_Here' door consumenten.

In Azure B2C is de instantie van het formulier https://{instance}/tfp/{tenant}/{policyName}/ Volledige B2C-functionaliteit beschikbaar in deze bibliotheek in toekomstige versies.

Methoden

acquireTokenByClientCredential(ClientCredentialRequest)

Hiermee worden tokens verkregen van de instantie voor de toepassing (niet voor een eindgebruiker).

acquireTokenOnBehalfOf(OnBehalfOfRequest)

Hiermee verkrijgt u tokens van de instantie voor de toepassing.

Wordt gebruikt in scenario's waarin de huidige app een service in de middelste laag is die is aangeroepen met een token dat een eindgebruiker vertegenwoordigt. De huidige app kan het token (oboAssertion) gebruiken om namens die gebruiker een ander token aan te vragen om toegang te krijgen tot downstream web-API.

De huidige app in de middelste laag heeft geen gebruikersinteractie om toestemming te krijgen. Bekijk in dit artikel hoe u vooraf toestemming krijgt voor uw app in de middelste laag. 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)

Dit uitbreidbaarheidspunt werkt alleen voor de client_credential stroom, d.w.w.v. acquireTokenByClientCredential en is bedoeld voor Azure SDK om de ondersteuning voor beheerde identiteiten te verbeteren.

Overgenomen methoden

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

Hiermee verkrijgt u een token door de autorisatiecode uit te wisselen die is ontvangen uit de eerste stap van de OAuth2.0-autorisatiecodestroom.

getAuthCodeUrl(AuthorizationCodeUrlRequest) kan worden gebruikt om de URL te maken voor de eerste stap van de OAuth2.0-autorisatiecodestroom. Zorg ervoor dat waarden voor redirectUri en scopes in AuthorizationCodeUrlRequest en AuthorizationCodeRequest hetzelfde zijn.

acquireTokenByRefreshToken(RefreshTokenRequest)

Hiermee verkrijgt u een token door het vernieuwingstoken uit te wisselen dat is opgegeven voor een nieuwe set tokens.

Deze API is alleen beschikbaar voor scenario's waarin u wilt migreren van ADAL naar MSAL. Anders wordt het aanbevolen om te gebruiken acquireTokenSilent() voor stille scenario's. Wanneer u msal gebruikt acquireTokenSilent(), wordt de cache en het vernieuwen van tokens automatisch verwerkt.

acquireTokenByUsernamePassword(UsernamePasswordRequest)

Hiermee verkrijgt u tokens met wachtwoordtoekenning door de gebruikersnaam en het wachtwoord van clienttoepassingen uit te wisselen voor referenties

De meest recente best practice voor OAuth 2.0-beveiliging staat niet toe dat het wachtwoord volledig wordt verleend. Meer informatie over deze aanbeveling vindt u in https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 de documentatie en aanbevelingen van Microsoft:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword

acquireTokenSilent(SilentFlowRequest)

Hiermee verkrijgt u een token op de achtergrond wanneer een gebruiker het account opgeeft waarvoor het token wordt aangevraagd.

Deze API verwacht dat de gebruiker een accountobject opgeeft en in de cache kijkt om het token op te halen als dit aanwezig is. Er is ook een optionele forceRefresh-booleaanse waarde die de gebruiker kan verzenden om de cache voor access_token en id_token te omzeilen. Als de refresh_token is verlopen of niet wordt gevonden, wordt er een fout gegenereerd en wordt de gebruiker begeleid bij het aanroepen van een interactieve tokenverwervings-API (bijvoorbeeld: acquireTokenByCode()).

clearCache()

Cache legen

getAuthCodeUrl(AuthorizationUrlRequest)

Hiermee maakt u de URL van de autorisatieaanvraag, zodat de gebruikersreferenties kunnen invoeren en toestemming kunnen geven voor de toepassing. De URL is gericht op het eindpunt /authorize van de instantie die is geconfigureerd in het toepassingsobject.

Zodra de gebruiker zijn referenties en toestemmingen invoert, stuurt de autoriteit een antwoord naar de omleidings-URI die in de aanvraag is verzonden en moet deze een autorisatiecode bevatten, die vervolgens kan worden gebruikt om tokens te verkrijgen via acquireTokenByCode(AuthorizationCodeRequest).

getLogger()

Retourneert het loggerexemplaren

getTokenCache()

Hiermee haalt u de tokencache voor de toepassing op.

setLogger(Logger)

Vervangt de standaardlogger die is ingesteld in configuraties door nieuwe logger door nieuwe configuraties

Constructordetails

ConfidentialClientApplication(Configuration)

Constructor voor ConfidentialClientApplication

Vereiste kenmerken in het configuratieobject zijn:

  • clientID: de toepassings-id van uw toepassing. U kunt er een verkrijgen door uw toepassing te registreren bij onze portal voor toepassingsregistratie
  • instantie: de URL van de instantie voor uw toepassing.
  • clientreferentie: moet clientgeheim, certificaat of assertie instellen voor vertrouwelijke clients. U kunt een clientgeheim verkrijgen via de portal voor toepassingsregistratie.

In Azure AD is de instantie een URL die het formulier https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}aangeeft. Als uw toepassing accounts in één organisatiemap ondersteunt, vervangt u de waarde 'Enter_the_Tenant_Info_Here' door de tenant-id of tenantnaam (bijvoorbeeld contoso.microsoft.com). Als uw toepassing accounts in een organisatiemap ondersteunt, vervangt u de waarde 'Enter_the_Tenant_Info_Here' door organisaties. Als uw toepassing accounts in een organisatiedirectory en persoonlijke Microsoft accounts ondersteunt, vervangt u de waarde 'Enter_the_Tenant_Info_Here' door algemene waarden. Als u alleen ondersteuning wilt beperken tot persoonlijke Microsoft-accounts, vervangt u de waarde 'Enter_the_Tenant_Info_Here' door consumenten.

In Azure B2C is de instantie van het formulier https://{instance}/tfp/{tenant}/{policyName}/ Volledige B2C-functionaliteit beschikbaar in deze bibliotheek in toekomstige versies.

new ConfidentialClientApplication(configuration: Configuration)

Parameters

configuration
Configuration

Methodedetails

acquireTokenByClientCredential(ClientCredentialRequest)

Hiermee worden tokens verkregen van de instantie voor de toepassing (niet voor een eindgebruiker).

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

Parameters

Retouren

Promise<null | AuthenticationResult>

acquireTokenOnBehalfOf(OnBehalfOfRequest)

Hiermee verkrijgt u tokens van de instantie voor de toepassing.

Wordt gebruikt in scenario's waarin de huidige app een service in de middelste laag is die is aangeroepen met een token dat een eindgebruiker vertegenwoordigt. De huidige app kan het token (oboAssertion) gebruiken om namens die gebruiker een ander token aan te vragen om toegang te krijgen tot downstream web-API.

De huidige app in de middelste laag heeft geen gebruikersinteractie om toestemming te krijgen. Bekijk in dit artikel hoe u vooraf toestemming krijgt voor uw app in de middelste laag. 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>

Parameters

Retouren

Promise<null | AuthenticationResult>

SetAppTokenProvider(IAppTokenProvider)

Dit uitbreidbaarheidspunt werkt alleen voor de client_credential stroom, d.w.w.v. acquireTokenByClientCredential en is bedoeld voor Azure SDK om de ondersteuning voor beheerde identiteiten te verbeteren.

function SetAppTokenProvider(provider: IAppTokenProvider)

Parameters

Details overgenomen methode

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

Hiermee verkrijgt u een token door de autorisatiecode uit te wisselen die is ontvangen uit de eerste stap van de OAuth2.0-autorisatiecodestroom.

getAuthCodeUrl(AuthorizationCodeUrlRequest) kan worden gebruikt om de URL te maken voor de eerste stap van de OAuth2.0-autorisatiecodestroom. Zorg ervoor dat waarden voor redirectUri en scopes in AuthorizationCodeUrlRequest en AuthorizationCodeRequest hetzelfde zijn.

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

Parameters

authCodePayLoad
AuthorizationCodePayload

Retouren

Overgenomen vanClientApplication.acquireTokenByCode

acquireTokenByRefreshToken(RefreshTokenRequest)

Hiermee verkrijgt u een token door het vernieuwingstoken uit te wisselen dat is opgegeven voor een nieuwe set tokens.

Deze API is alleen beschikbaar voor scenario's waarin u wilt migreren van ADAL naar MSAL. Anders wordt het aanbevolen om te gebruiken acquireTokenSilent() voor stille scenario's. Wanneer u msal gebruikt acquireTokenSilent(), wordt de cache en het vernieuwen van tokens automatisch verwerkt.

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

Parameters

Retouren

Promise<null | AuthenticationResult>

Overgenomen vanClientApplication.acquireTokenByRefreshToken

acquireTokenByUsernamePassword(UsernamePasswordRequest)

Waarschuwing

Deze API is nu afgeschaft.

  • Use a more secure flow instead

Hiermee verkrijgt u tokens met wachtwoordtoekenning door de gebruikersnaam en het wachtwoord van clienttoepassingen uit te wisselen voor referenties

De meest recente best practice voor OAuth 2.0-beveiliging staat niet toe dat het wachtwoord volledig wordt verleend. Meer informatie over deze aanbeveling vindt u in https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 de documentatie en aanbevelingen van Microsoft:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword

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

Parameters

request
UsernamePasswordRequest

UsenamePasswordRequest

Retouren

Promise<null | AuthenticationResult>

Overgenomen vanClientApplication.acquireTokenByUsernamePassword

acquireTokenSilent(SilentFlowRequest)

Hiermee verkrijgt u een token op de achtergrond wanneer een gebruiker het account opgeeft waarvoor het token wordt aangevraagd.

Deze API verwacht dat de gebruiker een accountobject opgeeft en in de cache kijkt om het token op te halen als dit aanwezig is. Er is ook een optionele forceRefresh-booleaanse waarde die de gebruiker kan verzenden om de cache voor access_token en id_token te omzeilen. Als de refresh_token is verlopen of niet wordt gevonden, wordt er een fout gegenereerd en wordt de gebruiker begeleid bij het aanroepen van een interactieve tokenverwervings-API (bijvoorbeeld: acquireTokenByCode()).

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

Parameters

Retouren

Overgenomen vanClientApplication.acquireTokenSilent

clearCache()

Cache legen

function clearCache()

Overgenomen vanClientApplication.clearCache

getAuthCodeUrl(AuthorizationUrlRequest)

Hiermee maakt u de URL van de autorisatieaanvraag, zodat de gebruikersreferenties kunnen invoeren en toestemming kunnen geven voor de toepassing. De URL is gericht op het eindpunt /authorize van de instantie die is geconfigureerd in het toepassingsobject.

Zodra de gebruiker zijn referenties en toestemmingen invoert, stuurt de autoriteit een antwoord naar de omleidings-URI die in de aanvraag is verzonden en moet deze een autorisatiecode bevatten, die vervolgens kan worden gebruikt om tokens te verkrijgen via acquireTokenByCode(AuthorizationCodeRequest).

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

Parameters

Retouren

Promise<string>

Overgenomen vanClientApplication.getAuthCodeUrl

getLogger()

Retourneert het loggerexemplaren

function getLogger(): Logger

Retouren

Overgenomen vanClientApplication.getLogger

getTokenCache()

Hiermee haalt u de tokencache voor de toepassing op.

function getTokenCache(): TokenCache

Retouren

Overgenomen vanClientApplication.getTokenCache

setLogger(Logger)

Vervangt de standaardlogger die is ingesteld in configuraties door nieuwe logger door nieuwe configuraties

function setLogger(logger: Logger)

Parameters

logger
Logger

Loggerexemplaren

Overgenomen vanClientApplication.setLogger