PublicClientApplication class

Den här klassen ska användas för att hämta token för offentliga klientprogram (skrivbord, mobil). Offentliga klientprogram är inte betrodda för att lagra programhemligheter på ett säkert sätt och kan därför bara begära token i en användares namn.

Extends

Konstruktorer

PublicClientApplication(Configuration)

Viktiga attribut i konfigurationsobjektet för autentisering är:

  • clientID: programmets program-ID. Du kan få en genom att registrera ditt program med vår programregistreringsportal.
  • authority: utfärdarens URL för ditt program.

AAD-myndigheter är av formatet 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.

Azure B2C-myndigheter är av formuläret https://{instance}/{tenant}/{policy}. Varje princip anses vara en egen auktoritet. Du måste ange alla kändaAuthorities vid tidpunkten för klientprogrammets konstruktion.

ADFS-myndigheter är av formuläret https://{instance}/adfs.

Metoder

acquireTokenByDeviceCode(DeviceCodeRequest)

Hämtar en token från utfärdaren med hjälp av OAuth2.0-enhetskodflödet. Det här flödet är utformat för enheter som inte har åtkomst till en webbläsare eller har indatabegränsningar. Auktoriseringsservern utfärdar ett DeviceCode-objekt med en verifieringskod, en slutanvändarkod och URI för slutanvändarverifiering. DeviceCode-objektet tillhandahålls via ett återanrop och slutanvändaren bör instrueras att använda en annan enhet för att navigera till verifierings-URI:n för att ange autentiseringsuppgifter. Eftersom klienten inte kan ta emot inkommande begäranden avsöker den auktoriseringsservern upprepade gånger tills slutanvändaren har slutfört indata för autentiseringsuppgifter.

acquireTokenInteractive(InteractiveRequest)

Hämtar en token interaktivt via webbläsaren genom att begära en auktoriseringskod och sedan byta ut den mot en token.

acquireTokenSilent(SilentFlowRequest)

Returnerar en token som hämtats antingen från cachen eller genom att byta uppdateringstoken mot en ny åtkomsttoken. Om asynkron koordinator är aktiverat kommer tokenbegäran att hanteras av asynkron meddelandekö.

getAllAccounts()

Returnerar alla cachelagrade konton för det här programmet. Om koordinatorn är aktiverad kommer den här begäran att hanteras av mäklaren.

signOut(SignOutRequest)

Tar bort cacheartefakter som är associerade med det angivna kontot

Ä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

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

PublicClientApplication(Configuration)

Viktiga attribut i konfigurationsobjektet för autentisering är:

  • clientID: programmets program-ID. Du kan få en genom att registrera ditt program med vår programregistreringsportal.
  • authority: utfärdarens URL för ditt program.

AAD-myndigheter är av formatet 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.

Azure B2C-myndigheter är av formuläret https://{instance}/{tenant}/{policy}. Varje princip anses vara en egen auktoritet. Du måste ange alla kändaAuthorities vid tidpunkten för klientprogrammets konstruktion.

ADFS-myndigheter är av formuläret https://{instance}/adfs.

new PublicClientApplication(configuration: Configuration)

Parametrar

configuration
Configuration

Metodinformation

acquireTokenByDeviceCode(DeviceCodeRequest)

Hämtar en token från utfärdaren med hjälp av OAuth2.0-enhetskodflödet. Det här flödet är utformat för enheter som inte har åtkomst till en webbläsare eller har indatabegränsningar. Auktoriseringsservern utfärdar ett DeviceCode-objekt med en verifieringskod, en slutanvändarkod och URI för slutanvändarverifiering. DeviceCode-objektet tillhandahålls via ett återanrop och slutanvändaren bör instrueras att använda en annan enhet för att navigera till verifierings-URI:n för att ange autentiseringsuppgifter. Eftersom klienten inte kan ta emot inkommande begäranden avsöker den auktoriseringsservern upprepade gånger tills slutanvändaren har slutfört indata för autentiseringsuppgifter.

function acquireTokenByDeviceCode(request: DeviceCodeRequest): Promise<null | AuthenticationResult>

Parametrar

Returer

Promise<null | AuthenticationResult>

acquireTokenInteractive(InteractiveRequest)

Hämtar en token interaktivt via webbläsaren genom att begära en auktoriseringskod och sedan byta ut den mot en token.

function acquireTokenInteractive(request: InteractiveRequest): Promise<AuthenticationResult>

Parametrar

Returer

acquireTokenSilent(SilentFlowRequest)

Returnerar en token som hämtats antingen från cachen eller genom att byta uppdateringstoken mot en ny åtkomsttoken. Om asynkron koordinator är aktiverat kommer tokenbegäran att hanteras av asynkron meddelandekö.

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

Parametrar

request
SilentFlowRequest

utvecklaren tillhandahöll SilentFlowRequest

Returer

getAllAccounts()

Returnerar alla cachelagrade konton för det här programmet. Om koordinatorn är aktiverad kommer den här begäran att hanteras av mäklaren.

function getAllAccounts(): Promise<AccountInfo[]>

Returer

Promise<AccountInfo[]>

signOut(SignOutRequest)

Tar bort cacheartefakter som är associerade med det angivna kontot

function signOut(request: SignOutRequest): Promise<void>

Parametrar

request
SignOutRequest

utvecklaren tillhandahöll SignOutRequest

Returer

Promise<void>

Ä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

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