ConfidentialClientApplication class

Den här klassen ska användas för att hämta token för konfidentiella klientprogram (webApp, webAPI). Konfidentiella klientprogram konfigurerar programhemligheter, klientcertifikat/intyg efter behov

Extends

Konstruktorer

ConfidentialClientApplication(Configuration)

Konstruktor för ConfidentialClientApplication

Obligatoriska attribut i konfigurationsobjektet är:

  • clientID: programmets program-ID. Du kan skaffa en genom att registrera ditt program med vår programregistreringsportal
  • authority: utfärdarens URL för ditt program.
  • klientautentiseringsuppgifter: Måste ange antingen klienthemlighet, certifikat eller försäkran för konfidentiella klienter. Du kan hämta en klienthemlighet från programregistreringsportalen.

I Azure AD är utfärdaren en URL som anger formuläret https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}. Om ditt program stöder Konton i en organisationskatalog ersätter du värdet "Enter_the_Tenant_Info_Here" med klient-ID:t eller klientorganisationens namn (till exempel contoso.microsoft.com). Om ditt program har stöd för konton i en organisationskatalog ersätter du värdet "Enter_the_Tenant_Info_Here" med organisationer. Om ditt program stöder konton i en organisationskatalog och personliga Microsoft konton ersätter du värdet "Enter_the_Tenant_Info_Here" med common. Om du bara vill begränsa stödet till personliga Microsoft konton ersätter du värdet "Enter_the_Tenant_Info_Here" med konsumenterna.

I Azure B2C är utfärdaren av formuläret https://{instance}/tfp/{tenant}/{policyName}/ Fullständiga B2C-funktioner kommer att vara tillgängliga i det här biblioteket i framtida versioner.

Metoder

acquireTokenByClientCredential(ClientCredentialRequest)

Hämtar token från utfärdaren för programmet (inte för en slutanvändare).

acquireTokenOnBehalfOf(OnBehalfOfRequest)

Hämtar token från utfärdaren för programmet.

Används i scenarier där den aktuella appen är en mellannivåtjänst som anropades med en token som representerar en slutanvändare. Den aktuella appen kan använda token (oboAssertion) för att begära en annan token för åtkomst till underordnat webb-API för användarens räkning.

Den aktuella mellannivåappen har ingen användarinteraktion för att få medgivande. Se hur du får medgivande direkt för din mellannivåapp från den här artikeln. 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)

Den här utökningspunkten fungerar bara för client_credential-flödet, d.v.s. acquireTokenByClientCredential och är avsedd för Azure SDKs för att förbättra stöd för hanterad identitet.

Ärvda metoder

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

Hämtar en token genom att byta ut auktoriseringskoden från det första steget i OAuth2.0 Authorization Code-flödet.

getAuthCodeUrl(AuthorizationCodeUrlRequest) kan användas för att skapa URL:en för det första steget i OAuth2.0 Authorization Code-flödet. Se till att värdena för redirectUri och omfång i AuthorizationCodeUrlRequest och AuthorizationCodeRequest är desamma.

acquireTokenByRefreshToken(RefreshTokenRequest)

Hämtar en token genom att utbyta uppdateringstoken som tillhandahålls för en ny uppsättning token.

Det här API:et tillhandahålls endast för scenarier där du vill migrera från ADAL till MSAL. Annars rekommenderar vi att du använder acquireTokenSilent() för tysta scenarier. När du använder acquireTokenSilent()hanterar MSAL cachelagring och uppdatering av token automatiskt.

acquireTokenByUsernamePassword(UsernamePasswordRequest)

Hämtar token med lösenordstilldelning genom att byta användarnamn och lösenord för klientprogram mot autentiseringsuppgifter

Den senaste OAuth 2.0 Security Best Current Practice tillåter inte att lösenordet beviljas helt. Mer information om den här rekommendationen finns i https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 Microsoft dokumentation och rekommendationer finns på:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword

acquireTokenSilent(SilentFlowRequest)

Hämtar en token tyst när en användare anger det konto som token begärs för.

Det här API:et förväntar sig att användaren tillhandahåller ett kontoobjekt och tittar in i cacheminnet för att hämta token om det finns. Det finns också ett valfritt "forceRefresh"-booleskt värde som användaren kan skicka för att kringgå cacheminnet för access_token och id_token. Om refresh_token har upphört att gälla eller inte hittas utlöses ett fel och vägledningen är att användaren anropar ett API för interaktiv tokenanskaffning (t.ex. ). acquireTokenByCode()

clearCache()

Rensa cachen

getAuthCodeUrl(AuthorizationUrlRequest)

Skapar URL:en för auktoriseringsbegäran så att användaren kan ange autentiseringsuppgifter och godkänna programmet. URL:en riktar sig till slutpunkten /authorize för den utfärdare som konfigurerats i programobjektet.

När användaren har angett sina autentiseringsuppgifter och medgivanden skickar utfärdaren ett svar till omdirigerings-URI:n som skickas i begäran och ska innehålla en auktoriseringskod som sedan kan användas för att hämta token via acquireTokenByCode(AuthorizationCodeRequest).

getLogger()

Returnerar logger-instansen

getTokenCache()

Hämtar tokencachen för programmet.

setLogger(Logger)

Ersätter standardloggningsuppsättningen i konfigurationer med nya Logger med nya konfigurationer

Konstruktorinformation

ConfidentialClientApplication(Configuration)

Konstruktor för ConfidentialClientApplication

Obligatoriska attribut i konfigurationsobjektet är:

  • clientID: programmets program-ID. Du kan skaffa en genom att registrera ditt program med vår programregistreringsportal
  • authority: utfärdarens URL för ditt program.
  • klientautentiseringsuppgifter: Måste ange antingen klienthemlighet, certifikat eller försäkran för konfidentiella klienter. Du kan hämta en klienthemlighet från programregistreringsportalen.

I Azure AD är utfärdaren en URL som anger formuläret https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}. Om ditt program stöder Konton i en organisationskatalog ersätter du värdet "Enter_the_Tenant_Info_Here" med klient-ID:t eller klientorganisationens namn (till exempel contoso.microsoft.com). Om ditt program har stöd för konton i en organisationskatalog ersätter du värdet "Enter_the_Tenant_Info_Here" med organisationer. Om ditt program stöder konton i en organisationskatalog och personliga Microsoft konton ersätter du värdet "Enter_the_Tenant_Info_Here" med common. Om du bara vill begränsa stödet till personliga Microsoft konton ersätter du värdet "Enter_the_Tenant_Info_Here" med konsumenterna.

I Azure B2C är utfärdaren av formuläret https://{instance}/tfp/{tenant}/{policyName}/ Fullständiga B2C-funktioner kommer att vara tillgängliga i det här biblioteket i framtida versioner.

new ConfidentialClientApplication(configuration: Configuration)

Parametrar

configuration
Configuration

Metodinformation

acquireTokenByClientCredential(ClientCredentialRequest)

Hämtar token från utfärdaren för programmet (inte för en slutanvändare).

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

Parametrar

Returer

Promise<null | AuthenticationResult>

acquireTokenOnBehalfOf(OnBehalfOfRequest)

Hämtar token från utfärdaren för programmet.

Används i scenarier där den aktuella appen är en mellannivåtjänst som anropades med en token som representerar en slutanvändare. Den aktuella appen kan använda token (oboAssertion) för att begära en annan token för åtkomst till underordnat webb-API för användarens räkning.

Den aktuella mellannivåappen har ingen användarinteraktion för att få medgivande. Se hur du får medgivande direkt för din mellannivåapp från den här artikeln. 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>

Parametrar

Returer

Promise<null | AuthenticationResult>

SetAppTokenProvider(IAppTokenProvider)

Den här utökningspunkten fungerar bara för client_credential-flödet, d.v.s. acquireTokenByClientCredential och är avsedd för Azure SDKs för att förbättra stöd för hanterad identitet.

function SetAppTokenProvider(provider: IAppTokenProvider)

Parametrar

Ärvd metodinformation

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

Hämtar en token genom att byta ut auktoriseringskoden från det första steget i OAuth2.0 Authorization Code-flödet.

getAuthCodeUrl(AuthorizationCodeUrlRequest) kan användas för att skapa URL:en för det första steget i OAuth2.0 Authorization Code-flödet. Se till att värdena för redirectUri och omfång i AuthorizationCodeUrlRequest och AuthorizationCodeRequest är desamma.

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

Parametrar

authCodePayLoad
AuthorizationCodePayload

Returer

Ärvd frånClientApplication.acquireTokenByCode

acquireTokenByRefreshToken(RefreshTokenRequest)

Hämtar en token genom att utbyta uppdateringstoken som tillhandahålls för en ny uppsättning token.

Det här API:et tillhandahålls endast för scenarier där du vill migrera från ADAL till MSAL. Annars rekommenderar vi att du använder acquireTokenSilent() för tysta scenarier. När du använder acquireTokenSilent()hanterar MSAL cachelagring och uppdatering av token automatiskt.

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

Parametrar

Returer

Promise<null | AuthenticationResult>

Ärvd frånClientApplication.acquireTokenByRefreshToken

acquireTokenByUsernamePassword(UsernamePasswordRequest)

Varning

Det här API:et är nu inaktuellt.

  • Use a more secure flow instead

Hämtar token med lösenordstilldelning genom att byta användarnamn och lösenord för klientprogram mot autentiseringsuppgifter

Den senaste OAuth 2.0 Security Best Current Practice tillåter inte att lösenordet beviljas helt. Mer information om den här rekommendationen finns i https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 Microsoft dokumentation och rekommendationer finns på:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword

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

Parametrar

request
UsernamePasswordRequest

UsenamePasswordRequest

Returer

Promise<null | AuthenticationResult>

Ärvd frånClientApplication.acquireTokenByUsernamePassword

acquireTokenSilent(SilentFlowRequest)

Hämtar en token tyst när en användare anger det konto som token begärs för.

Det här API:et förväntar sig att användaren tillhandahåller ett kontoobjekt och tittar in i cacheminnet för att hämta token om det finns. Det finns också ett valfritt "forceRefresh"-booleskt värde som användaren kan skicka för att kringgå cacheminnet för access_token och id_token. Om refresh_token har upphört att gälla eller inte hittas utlöses ett fel och vägledningen är att användaren anropar ett API för interaktiv tokenanskaffning (t.ex. ). acquireTokenByCode()

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

Parametrar

Returer

Ärvd frånClientApplication.acquireTokenSilent

clearCache()

Rensa cachen

function clearCache()

Ärvd frånClientApplication.clearCache

getAuthCodeUrl(AuthorizationUrlRequest)

Skapar URL:en för auktoriseringsbegäran så att användaren kan ange autentiseringsuppgifter och godkänna programmet. URL:en riktar sig till slutpunkten /authorize för den utfärdare som konfigurerats i programobjektet.

När användaren har angett sina autentiseringsuppgifter och medgivanden skickar utfärdaren ett svar till omdirigerings-URI:n som skickas i begäran och ska innehålla en auktoriseringskod som sedan kan användas för att hämta token via acquireTokenByCode(AuthorizationCodeRequest).

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

Parametrar

Returer

Promise<string>

Ärvd frånClientApplication.getAuthCodeUrl

getLogger()

Returnerar logger-instansen

function getLogger(): Logger

Returer

Ärvd frånClientApplication.getLogger

getTokenCache()

Hämtar tokencachen för programmet.

function getTokenCache(): TokenCache

Returer

Ärvd frånClientApplication.getTokenCache

setLogger(Logger)

Ersätter standardloggningsuppsättningen i konfigurationer med nya Logger med nya konfigurationer

function setLogger(logger: Logger)

Parametrar

logger
Logger

Logger-instans

Ärvd frånClientApplication.setLogger