PublicClientApplication class

Tato třída se používá k získání tokenů pro veřejné klientské aplikace (desktop, mobilní zařízení). Veřejné klientské aplikace nejsou důvěryhodné pro bezpečné ukládání tajných kódů aplikací, a proto mohou požadovat pouze tokeny v názvu uživatele.

Extends

Konstruktory

PublicClientApplication(Configuration)

Mezi důležité atributy v objektu Konfigurace pro ověřování patří:

  • 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.

Orgány AAD mají formu 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.

Azure autorit B2C jsou ve formuláři https://{instance}/{tenant}/{policy}. Každá zásada se považuje za svou vlastní autoritu. Budete muset nastavit všechny známéAuthority v době vytváření klientské aplikace.

Autority ADFS jsou ve formátu https://{instance}/adfs.

Metody

acquireTokenByDeviceCode(DeviceCodeRequest)

Získá token od autority pomocí toku kódu zařízení OAuth2.0. Tento tok je určený pro zařízení, která nemají přístup k prohlížeči nebo mají vstupní omezení. Autorizační server vydá objekt DeviceCode s ověřovacím kódem, kódem koncového uživatele a identifikátorem URI ověření koncového uživatele. Objekt DeviceCode je poskytován prostřednictvím zpětného volání a koncový uživatel by měl být instruován, aby pomocí jiného zařízení přešli na ověřovací identifikátor URI pro zadání přihlašovacích údajů. Vzhledem k tomu, že klient nemůže přijímat příchozí požadavky, dotazuje se autorizační server opakovaně, dokud koncový uživatel nedokončí vstup přihlašovacích údajů.

acquireTokenInteractive(InteractiveRequest)

Získá token interaktivně prostřednictvím prohlížeče vyžádáním autorizačního kódu a následnou výměnou tokenu.

acquireTokenSilent(SilentFlowRequest)

Vrátí token načtený z mezipaměti nebo výměnou obnovovacího tokenu za nový přístupový token. Pokud je zprostředkování povoleno, bude žádost o token obsluhovat zprostředkovatel.

getAllAccounts()

Vrátí všechny účty uložené v mezipaměti pro tuto aplikaci. Pokud je zprostředkování povoleno, bude tento požadavek obsluhovat zprostředkovatel.

signOut(SignOutRequest)

Odebere artefakty mezipaměti přidružené k danému účtu.

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

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

PublicClientApplication(Configuration)

Mezi důležité atributy v objektu Konfigurace pro ověřování patří:

  • 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.

Orgány AAD mají formu 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.

Azure autorit B2C jsou ve formuláři https://{instance}/{tenant}/{policy}. Každá zásada se považuje za svou vlastní autoritu. Budete muset nastavit všechny známéAuthority v době vytváření klientské aplikace.

Autority ADFS jsou ve formátu https://{instance}/adfs.

new PublicClientApplication(configuration: Configuration)

Parametry

configuration
Configuration

Podrobnosti metody

acquireTokenByDeviceCode(DeviceCodeRequest)

Získá token od autority pomocí toku kódu zařízení OAuth2.0. Tento tok je určený pro zařízení, která nemají přístup k prohlížeči nebo mají vstupní omezení. Autorizační server vydá objekt DeviceCode s ověřovacím kódem, kódem koncového uživatele a identifikátorem URI ověření koncového uživatele. Objekt DeviceCode je poskytován prostřednictvím zpětného volání a koncový uživatel by měl být instruován, aby pomocí jiného zařízení přešli na ověřovací identifikátor URI pro zadání přihlašovacích údajů. Vzhledem k tomu, že klient nemůže přijímat příchozí požadavky, dotazuje se autorizační server opakovaně, dokud koncový uživatel nedokončí vstup přihlašovacích údajů.

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

Parametry

Návraty

Promise<null | AuthenticationResult>

acquireTokenInteractive(InteractiveRequest)

Získá token interaktivně prostřednictvím prohlížeče vyžádáním autorizačního kódu a následnou výměnou tokenu.

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

Parametry

Návraty

acquireTokenSilent(SilentFlowRequest)

Vrátí token načtený z mezipaměti nebo výměnou obnovovacího tokenu za nový přístupový token. Pokud je zprostředkování povoleno, bude žádost o token obsluhovat zprostředkovatel.

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

Parametry

request
SilentFlowRequest

Vývojář poskytl SilentFlowRequest

Návraty

getAllAccounts()

Vrátí všechny účty uložené v mezipaměti pro tuto aplikaci. Pokud je zprostředkování povoleno, bude tento požadavek obsluhovat zprostředkovatel.

function getAllAccounts(): Promise<AccountInfo[]>

Návraty

Promise<AccountInfo[]>

signOut(SignOutRequest)

Odebere artefakty mezipaměti přidružené k danému účtu.

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

Parametry

request
SignOutRequest

Vývojář poskytl SignOutRequest

Návraty

Promise<void>

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

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