PublicClientApplication class

Questa classe deve essere usata per acquisire i token per le applicazioni client pubbliche (desktop, dispositivi mobili). Le applicazioni client pubbliche non sono attendibili per archiviare in modo sicuro i segreti dell'applicazione e pertanto possono richiedere solo token nel nome di un utente.

Extends

Costruttori

PublicClientApplication(Configuration)

Gli attributi importanti nell'oggetto Configuration per l'autenticazione sono:

  • clientID: ID applicazione dell'applicazione. È possibile ottenerla registrando l'applicazione con il portale di registrazione delle applicazioni.
  • authority: l'URL dell'autorità per l'applicazione.

Le autorità AAD sono del formato https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}.

  • Se l'applicazione supporta Account in una directory organizzativa, sostituire il valore "Enter_the_Tenant_Info_Here" con l'ID tenant o il nome del tenant (ad esempio, contoso.microsoft.com).
  • Se l'applicazione supporta Account in qualsiasi directory organizzativa, sostituire il valore "Enter_the_Tenant_Info_Here" con le organizzazioni.
  • Se l'applicazione supporta Account in qualsiasi directory organizzativa e account Microsoft personali, sostituire il valore "Enter_the_Tenant_Info_Here" con common.
  • Per limitare il supporto solo agli account Microsoft personali, sostituire il valore "Enter_the_Tenant_Info_Here" con i consumer.

Azure autorità B2C sono nel formato https://{istanza}/{tenant}/{policy}. Ogni criterio è considerato una propria autorità. Sarà necessario impostare tutte le funzionalità noteAuthorities al momento della costruzione dell'applicazione client.

Le autorità ADFS sono nel formato https://{istanza}/adfs.

Metodi

acquireTokenByDeviceCode(DeviceCodeRequest)

Acquisisce un token dall'autorità usando il flusso di codice del dispositivo OAuth2.0. Questo flusso è progettato per i dispositivi che non hanno accesso a un browser o hanno vincoli di input. Il server di autorizzazione rilascia un oggetto DeviceCode con un codice di verifica, un codice utente finale e l'URI di verifica dell'utente finale. L'oggetto DeviceCode viene fornito tramite un callback e l'utente finale deve essere incaricato di usare un altro dispositivo per passare all'URI di verifica per immettere le credenziali. Poiché il client non può ricevere richieste in ingresso, esegue ripetutamente il polling del server di autorizzazione fino al completamento dell'input delle credenziali da parte dell'utente finale.

acquireTokenInteractive(InteractiveRequest)

Acquisisce un token in modo interattivo tramite il browser richiedendo un codice di autorizzazione e quindi scambiandolo per un token.

acquireTokenSilent(SilentFlowRequest)

Restituisce un token recuperato dalla cache o scambiando il token di aggiornamento per un token di accesso aggiornato. Se il brokering è abilitato, la richiesta di token verrà abilitata dal broker.

getAllAccounts()

Restituisce tutti gli account memorizzati nella cache per questa applicazione. Se il brokering è abilitato, questa richiesta verrà abilitata dal broker.

signOut(SignOutRequest)

Rimuove gli artefatti della cache associati all'account specificato

Metodi ereditati

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

Acquisisce un token scambiando il codice di autorizzazione ricevuto dal primo passaggio del flusso del codice di autorizzazione OAuth2.0.

getAuthCodeUrl(AuthorizationCodeUrlRequest) può essere usato per creare l'URL per il primo passaggio del flusso del codice di autorizzazione OAuth2.0. Assicurarsi che i valori per redirectUri e ambiti in AuthorizationCodeUrlRequest e AuthorizationCodeRequest siano gli stessi.

acquireTokenByRefreshToken(RefreshTokenRequest)

Acquisisce un token scambiando il token di aggiornamento fornito per un nuovo set di token.

Questa API viene fornita solo per scenari in cui si vuole eseguire la migrazione da ADAL a MSAL. In caso contrario, è consigliabile usare acquireTokenSilent() per scenari invisibile all'utente. Quando si usa acquireTokenSilent(), MSAL gestirà automaticamente la memorizzazione nella cache e l'aggiornamento dei token.

acquireTokenByUsernamePassword(UsernamePasswordRequest)

Acquisisce i token con concessione di password scambiando nome utente e password delle applicazioni client per le credenziali

La versione più recente di OAuth 2.0 Security Best Current Practice non consente completamente la concessione della password. Per altre informazioni su questa raccomandazione, vedere la https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 documentazione e le raccomandazioni di Microsoft:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword

clearCache()

Cancellare la cache

getAuthCodeUrl(AuthorizationUrlRequest)

Crea l'URL della richiesta di autorizzazione, consentendo all'utente di immettere le credenziali e il consenso all'applicazione. L'URL è destinato all'endpoint /authorize dell'autorità configurata nell'oggetto applicazione.

Dopo che l'utente immette le proprie credenziali e il consenso, l'autorità invierà una risposta all'URI di reindirizzamento inviato nella richiesta e deve contenere un codice di autorizzazione, che può quindi essere usato per acquisire i token tramite acquireTokenByCode(AuthorizationCodeRequest).

getLogger()

Restituisce l'istanza del logger

getTokenCache()

Ottiene la cache dei token per l'applicazione.

setLogger(Logger)

Sostituisce il logger predefinito impostato nelle configurazioni con il nuovo Logger con nuove configurazioni

Dettagli costruttore

PublicClientApplication(Configuration)

Gli attributi importanti nell'oggetto Configuration per l'autenticazione sono:

  • clientID: ID applicazione dell'applicazione. È possibile ottenerla registrando l'applicazione con il portale di registrazione delle applicazioni.
  • authority: l'URL dell'autorità per l'applicazione.

Le autorità AAD sono del formato https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}.

  • Se l'applicazione supporta Account in una directory organizzativa, sostituire il valore "Enter_the_Tenant_Info_Here" con l'ID tenant o il nome del tenant (ad esempio, contoso.microsoft.com).
  • Se l'applicazione supporta Account in qualsiasi directory organizzativa, sostituire il valore "Enter_the_Tenant_Info_Here" con le organizzazioni.
  • Se l'applicazione supporta Account in qualsiasi directory organizzativa e account Microsoft personali, sostituire il valore "Enter_the_Tenant_Info_Here" con common.
  • Per limitare il supporto solo agli account Microsoft personali, sostituire il valore "Enter_the_Tenant_Info_Here" con i consumer.

Azure autorità B2C sono nel formato https://{istanza}/{tenant}/{policy}. Ogni criterio è considerato una propria autorità. Sarà necessario impostare tutte le funzionalità noteAuthorities al momento della costruzione dell'applicazione client.

Le autorità ADFS sono nel formato https://{istanza}/adfs.

new PublicClientApplication(configuration: Configuration)

Parametri

configuration
Configuration

Dettagli metodo

acquireTokenByDeviceCode(DeviceCodeRequest)

Acquisisce un token dall'autorità usando il flusso di codice del dispositivo OAuth2.0. Questo flusso è progettato per i dispositivi che non hanno accesso a un browser o hanno vincoli di input. Il server di autorizzazione rilascia un oggetto DeviceCode con un codice di verifica, un codice utente finale e l'URI di verifica dell'utente finale. L'oggetto DeviceCode viene fornito tramite un callback e l'utente finale deve essere incaricato di usare un altro dispositivo per passare all'URI di verifica per immettere le credenziali. Poiché il client non può ricevere richieste in ingresso, esegue ripetutamente il polling del server di autorizzazione fino al completamento dell'input delle credenziali da parte dell'utente finale.

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

Parametri

Valori restituiti

Promise<null | AuthenticationResult>

acquireTokenInteractive(InteractiveRequest)

Acquisisce un token in modo interattivo tramite il browser richiedendo un codice di autorizzazione e quindi scambiandolo per un token.

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

Parametri

Valori restituiti

acquireTokenSilent(SilentFlowRequest)

Restituisce un token recuperato dalla cache o scambiando il token di aggiornamento per un token di accesso aggiornato. Se il brokering è abilitato, la richiesta di token verrà abilitata dal broker.

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

Parametri

request
SilentFlowRequest

Lo sviluppatore ha fornito SilentFlowRequest

Valori restituiti

getAllAccounts()

Restituisce tutti gli account memorizzati nella cache per questa applicazione. Se il brokering è abilitato, questa richiesta verrà abilitata dal broker.

function getAllAccounts(): Promise<AccountInfo[]>

Valori restituiti

Promise<AccountInfo[]>

signOut(SignOutRequest)

Rimuove gli artefatti della cache associati all'account specificato

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

Parametri

request
SignOutRequest

SignOutRequest fornito dallo sviluppatore

Valori restituiti

Promise<void>

Dettagli dei metodi ereditati

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

Acquisisce un token scambiando il codice di autorizzazione ricevuto dal primo passaggio del flusso del codice di autorizzazione OAuth2.0.

getAuthCodeUrl(AuthorizationCodeUrlRequest) può essere usato per creare l'URL per il primo passaggio del flusso del codice di autorizzazione OAuth2.0. Assicurarsi che i valori per redirectUri e ambiti in AuthorizationCodeUrlRequest e AuthorizationCodeRequest siano gli stessi.

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

Parametri

authCodePayLoad
AuthorizationCodePayload

Valori restituiti

Ereditato daClientApplication.acquireTokenByCode

acquireTokenByRefreshToken(RefreshTokenRequest)

Acquisisce un token scambiando il token di aggiornamento fornito per un nuovo set di token.

Questa API viene fornita solo per scenari in cui si vuole eseguire la migrazione da ADAL a MSAL. In caso contrario, è consigliabile usare acquireTokenSilent() per scenari invisibile all'utente. Quando si usa acquireTokenSilent(), MSAL gestirà automaticamente la memorizzazione nella cache e l'aggiornamento dei token.

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

Parametri

Valori restituiti

Promise<null | AuthenticationResult>

Ereditato daClientApplication.acquireTokenByRefreshToken

acquireTokenByUsernamePassword(UsernamePasswordRequest)

Avviso

Questa API è ora deprecata.

  • Use a more secure flow instead

Acquisisce i token con concessione di password scambiando nome utente e password delle applicazioni client per le credenziali

La versione più recente di OAuth 2.0 Security Best Current Practice non consente completamente la concessione della password. Per altre informazioni su questa raccomandazione, vedere la https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 documentazione e le raccomandazioni di Microsoft:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword

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

Parametri

request
UsernamePasswordRequest

UsenamePasswordRequest

Valori restituiti

Promise<null | AuthenticationResult>

Ereditato daClientApplication.acquireTokenByUsernamePassword

clearCache()

Cancellare la cache

function clearCache()

Ereditato daClientApplication.clearCache

getAuthCodeUrl(AuthorizationUrlRequest)

Crea l'URL della richiesta di autorizzazione, consentendo all'utente di immettere le credenziali e il consenso all'applicazione. L'URL è destinato all'endpoint /authorize dell'autorità configurata nell'oggetto applicazione.

Dopo che l'utente immette le proprie credenziali e il consenso, l'autorità invierà una risposta all'URI di reindirizzamento inviato nella richiesta e deve contenere un codice di autorizzazione, che può quindi essere usato per acquisire i token tramite acquireTokenByCode(AuthorizationCodeRequest).

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

Parametri

Valori restituiti

Promise<string>

Ereditato daClientApplication.getAuthCodeUrl

getLogger()

Restituisce l'istanza del logger

function getLogger(): Logger

Valori restituiti

Ereditato daClientApplication.getLogger

getTokenCache()

Ottiene la cache dei token per l'applicazione.

function getTokenCache(): TokenCache

Valori restituiti

Ereditato daClientApplication.getTokenCache

setLogger(Logger)

Sostituisce il logger predefinito impostato nelle configurazioni con il nuovo Logger con nuove configurazioni

function setLogger(logger: Logger)

Parametri

logger
Logger

Istanza del logger

Ereditato daClientApplication.setLogger