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
| Public |
Mezi důležité atributy v objektu Konfigurace pro ověřování patří:
Orgány AAD mají formu
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
| acquire |
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ů. |
| acquire |
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. |
| acquire |
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. |
| get |
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. |
| sign |
Odebere artefakty mezipaměti přidružené k danému účtu. |
Zděděné metody
| acquire |
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.
|
| acquire |
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 |
| acquire |
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 |
| clear |
Vymazání mezipaměti |
| get |
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 |
| get |
Vrátí instanci protokolovacího nástroje. |
| get |
Získá mezipaměť tokenů pro aplikaci. |
| set |
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
- request
- DeviceCodeRequest
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
- request
- InteractiveRequest
Návraty
Promise<AuthenticationResult>
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
Promise<AuthenticationResult>
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
- request
- AuthorizationCodeRequest
- authCodePayLoad
- AuthorizationCodePayload
Návraty
Promise<AuthenticationResult>
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
- request
- RefreshTokenRequest
Návraty
Promise<null | AuthenticationResult>
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>
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
- request
- AuthorizationUrlRequest
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