ConfidentialClientApplication class

Tato třída se používá k získání tokenů pro důvěrné klientské aplikace (webApp, webAPI). Důvěrné klientské aplikace nakonfigurují tajné kódy aplikací, klientské certifikáty nebo kontrolní výrazy podle potřeby.

Extends

Konstruktory

ConfidentialClientApplication(Configuration)

Konstruktor pro ConfidentialClientApplication

Požadované atributy v objektu Configuration jsou:

  • clientID: ID aplikace vaší aplikace. Můžete ji získat registrací aplikace na našem portálu pro registraci aplikací.
  • autorita: adresa URL autority pro vaši aplikaci.
  • přihlašovací údaje klienta: Je nutné nastavit tajný klíč klienta, certifikát nebo kontrolní výraz pro důvěrné klienty. Tajný klíč klienta můžete získat z portálu pro registraci aplikace.

V Azure AD je autorita adresa URL označující formulář https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}. Pokud vaše aplikace podporuje účty v jednom adresáři organizace, nahraďte hodnotu Enter_the_Tenant_Info_Here ID tenanta nebo názvem tenanta (například contoso.microsoft.com). Pokud vaše aplikace podporuje účty v libovolném adresáři organizace, nahraďte hodnotu "Enter_the_Tenant_Info_Here" organizacemi. Pokud vaše aplikace podporuje účty v libovolném adresáři organizace a osobních Microsoft účtech, nahraďte hodnotu "Enter_the_Tenant_Info_Here" běžnými hodnotami. Pokud chcete omezit podporu jenom na osobní Microsoft účty, nahraďte hodnotu "Enter_the_Tenant_Info_Here" spotřebiteli.

V Azure B2C je autorita formuláře https://{instance}/tfp/{tenant}/{policyName}/ Úplná funkce B2C bude dostupná v této knihovně v budoucích verzích.

Metody

acquireTokenByClientCredential(ClientCredentialRequest)

Získá tokeny od autority pro aplikaci (ne pro koncového uživatele).

acquireTokenOnBehalfOf(OnBehalfOfRequest)

Získá tokeny od autority pro aplikaci.

Používá se ve scénářích, kdy je aktuální aplikace služba střední vrstvy, která byla volána s tokenem představujícím koncového uživatele. Aktuální aplikace může token (oboAssertion) použít k vyžádání dalšího tokenu pro přístup k podřízené webovému rozhraní API jménem tohoto uživatele.

Aktuální aplikace střední vrstvy nemá žádnou interakci uživatele k získání souhlasu. Podívejte se, jak získat souhlas s aplikací střední vrstvy z tohoto článku. 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)

Tento bod rozšiřitelnosti funguje jenom pro tok client_credential, tj. acquireTokenByClientCredential a je určený pro Azure SDK k vylepšení podpory spravované identity.

Zděděné metody

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

Získá token výměnou autorizačního kódu přijatého z prvního kroku toku autorizačního kódu OAuth2.0.

getAuthCodeUrl(AuthorizationCodeUrlRequest) lze použít k vytvoření adresy URL pro první krok toku autorizačního kódu OAuth2.0. Ujistěte se, že hodnoty pro redirectUri a obory v AuthorizationCodeUrlRequest a AuthorizationCodeRequest jsou stejné.

acquireTokenByRefreshToken(RefreshTokenRequest)

Získá token výměnou obnovovacího tokenu poskytnutého pro novou sadu tokenů.

Toto rozhraní API je k dispozici pouze pro scénáře, ve kterých chcete migrovat z knihovny ADAL na knihovnu MSAL. V opačném případě se doporučuje používat acquireTokenSilent() pro tiché scénáře. Při použití acquireTokenSilent()bude msAL automaticky zpracovávat ukládání do mezipaměti a aktualizace tokenů.

acquireTokenByUsernamePassword(UsernamePasswordRequest)

Získá tokeny s udělením hesla výměnou uživatelského jména a hesla klientských aplikací pro přihlašovací údaje.

Nejnovější osvědčený postup zabezpečení OAuth 2.0 v současné době zakáže udělení hesla zcela. Další podrobnosti o tomto doporučení najdete v https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 dokumentaci a doporučeních Microsoft:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword

acquireTokenSilent(SilentFlowRequest)

Získá token bezobslužně, když uživatel určí účet, pro který je token požadován.

Toto rozhraní API očekává, že uživatel poskytne objekt účtu a vyhledá v mezipaměti token, pokud je k dispozici. K dispozici je také volitelná logická hodnota forceRefresh, která může uživatel odeslat a obejít mezipaměť pro access_token a id_token. V případě, že vypršela platnost refresh_token nebo nebyla nalezena, vyvolá se chyba a pokyny jsou určené pro volání jakéhokoli interaktivního rozhraní API pro získání tokenu (např. acquireTokenByCode()).

clearCache()

Vymazání mezipaměti

getAuthCodeUrl(AuthorizationUrlRequest)

Vytvoří adresu URL žádosti o autorizaci, která uživateli umožní zadat přihlašovací údaje a vyjádřit souhlas s aplikací. Adresa URL cílí na koncový bod /authorize autority nakonfigurované v objektu aplikace.

Jakmile uživatel zadá své přihlašovací údaje a souhlas, autorita odešle odpověď na identifikátor URI přesměrování odeslaný v požadavku a měl by obsahovat autorizační kód, který pak lze použít k získání tokenů prostřednictvím acquireTokenByCode(AuthorizationCodeRequest).

getLogger()

Vrátí instanci protokolovacího nástroje.

getTokenCache()

Získá mezipaměť tokenů pro aplikaci.

setLogger(Logger)

Nahradí výchozí protokolovací sadu v konfiguracích novým protokolovacím nástrojem novými konfiguracemi.

Podrobnosti konstruktoru

ConfidentialClientApplication(Configuration)

Konstruktor pro ConfidentialClientApplication

Požadované atributy v objektu Configuration jsou:

  • clientID: ID aplikace vaší aplikace. Můžete ji získat registrací aplikace na našem portálu pro registraci aplikací.
  • autorita: adresa URL autority pro vaši aplikaci.
  • přihlašovací údaje klienta: Je nutné nastavit tajný klíč klienta, certifikát nebo kontrolní výraz pro důvěrné klienty. Tajný klíč klienta můžete získat z portálu pro registraci aplikace.

V Azure AD je autorita adresa URL označující formulář https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}. Pokud vaše aplikace podporuje účty v jednom adresáři organizace, nahraďte hodnotu Enter_the_Tenant_Info_Here ID tenanta nebo názvem tenanta (například contoso.microsoft.com). Pokud vaše aplikace podporuje účty v libovolném adresáři organizace, nahraďte hodnotu "Enter_the_Tenant_Info_Here" organizacemi. Pokud vaše aplikace podporuje účty v libovolném adresáři organizace a osobních Microsoft účtech, nahraďte hodnotu "Enter_the_Tenant_Info_Here" běžnými hodnotami. Pokud chcete omezit podporu jenom na osobní Microsoft účty, nahraďte hodnotu "Enter_the_Tenant_Info_Here" spotřebiteli.

V Azure B2C je autorita formuláře https://{instance}/tfp/{tenant}/{policyName}/ Úplná funkce B2C bude dostupná v této knihovně v budoucích verzích.

new ConfidentialClientApplication(configuration: Configuration)

Parametry

configuration
Configuration

Podrobnosti metody

acquireTokenByClientCredential(ClientCredentialRequest)

Získá tokeny od autority pro aplikaci (ne pro koncového uživatele).

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

Parametry

Návraty

Promise<null | AuthenticationResult>

acquireTokenOnBehalfOf(OnBehalfOfRequest)

Získá tokeny od autority pro aplikaci.

Používá se ve scénářích, kdy je aktuální aplikace služba střední vrstvy, která byla volána s tokenem představujícím koncového uživatele. Aktuální aplikace může token (oboAssertion) použít k vyžádání dalšího tokenu pro přístup k podřízené webovému rozhraní API jménem tohoto uživatele.

Aktuální aplikace střední vrstvy nemá žádnou interakci uživatele k získání souhlasu. Podívejte se, jak získat souhlas s aplikací střední vrstvy z tohoto článku. 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>

Parametry

Návraty

Promise<null | AuthenticationResult>

SetAppTokenProvider(IAppTokenProvider)

Tento bod rozšiřitelnosti funguje jenom pro tok client_credential, tj. acquireTokenByClientCredential a je určený pro Azure SDK k vylepšení podpory spravované identity.

function SetAppTokenProvider(provider: IAppTokenProvider)

Parametry

Podrobnosti zděděných metod

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

Získá token výměnou autorizačního kódu přijatého z prvního kroku toku autorizačního kódu OAuth2.0.

getAuthCodeUrl(AuthorizationCodeUrlRequest) lze použít k vytvoření adresy URL pro první krok toku autorizačního kódu OAuth2.0. Ujistěte se, že hodnoty pro redirectUri a obory v AuthorizationCodeUrlRequest a AuthorizationCodeRequest jsou stejné.

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

Parametry

authCodePayLoad
AuthorizationCodePayload

Návraty

Zděděno zClientApplication.acquireTokenByCode

acquireTokenByRefreshToken(RefreshTokenRequest)

Získá token výměnou obnovovacího tokenu poskytnutého pro novou sadu tokenů.

Toto rozhraní API je k dispozici pouze pro scénáře, ve kterých chcete migrovat z knihovny ADAL na knihovnu MSAL. V opačném případě se doporučuje používat acquireTokenSilent() pro tiché scénáře. Při použití acquireTokenSilent()bude msAL automaticky zpracovávat ukládání do mezipaměti a aktualizace tokenů.

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

Parametry

Návraty

Promise<null | AuthenticationResult>

Zděděno zClientApplication.acquireTokenByRefreshToken

acquireTokenByUsernamePassword(UsernamePasswordRequest)

Upozornění

Toto rozhraní API je teď zastaralé.

  • Use a more secure flow instead

Získá tokeny s udělením hesla výměnou uživatelského jména a hesla klientských aplikací pro přihlašovací údaje.

Nejnovější osvědčený postup zabezpečení OAuth 2.0 v současné době zakáže udělení hesla zcela. Další podrobnosti o tomto doporučení najdete v https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 dokumentaci a doporučeních Microsoft:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword

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

Parametry

request
UsernamePasswordRequest

UsenamePasswordRequest

Návraty

Promise<null | AuthenticationResult>

Zděděno zClientApplication.acquireTokenByUsernamePassword

acquireTokenSilent(SilentFlowRequest)

Získá token bezobslužně, když uživatel určí účet, pro který je token požadován.

Toto rozhraní API očekává, že uživatel poskytne objekt účtu a vyhledá v mezipaměti token, pokud je k dispozici. K dispozici je také volitelná logická hodnota forceRefresh, která může uživatel odeslat a obejít mezipaměť pro access_token a id_token. V případě, že vypršela platnost refresh_token nebo nebyla nalezena, vyvolá se chyba a pokyny jsou určené pro volání jakéhokoli interaktivního rozhraní API pro získání tokenu (např. acquireTokenByCode()).

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

Parametry

Návraty

Zděděno zClientApplication.acquireTokenSilent

clearCache()

Vymazání mezipaměti

function clearCache()

Zděděno zClientApplication.clearCache

getAuthCodeUrl(AuthorizationUrlRequest)

Vytvoří adresu URL žádosti o autorizaci, která uživateli umožní zadat přihlašovací údaje a vyjádřit souhlas s aplikací. Adresa URL cílí na koncový bod /authorize autority nakonfigurované v objektu aplikace.

Jakmile uživatel zadá své přihlašovací údaje a souhlas, autorita odešle odpověď na identifikátor URI přesměrování odeslaný v požadavku a měl by obsahovat autorizační kód, který pak lze použít k získání tokenů prostřednictvím acquireTokenByCode(AuthorizationCodeRequest).

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

Parametry

Návraty

Promise<string>

Zděděno zClientApplication.getAuthCodeUrl

getLogger()

Vrátí instanci protokolovacího nástroje.

function getLogger(): Logger

Návraty

Zděděno zClientApplication.getLogger

getTokenCache()

Získá mezipaměť tokenů pro aplikaci.

function getTokenCache(): TokenCache

Návraty

Zděděno zClientApplication.getTokenCache

setLogger(Logger)

Nahradí výchozí protokolovací sadu v konfiguracích novým protokolovacím nástrojem novými konfiguracemi.

function setLogger(logger: Logger)

Parametry

logger
Logger

Instance loggeru

Zděděno zClientApplication.setLogger