PublicClientApplication class
Esta classe destina-se a ser usada para adquirir tokens para aplicações clientes públicas (desktop, mobile). As aplicações clientes públicas não são confiáveis para armazenar segredos de aplicação de forma segura, e por isso só podem solicitar tokens em nome de um utilizador.
- Extends
Construtores
| Public |
Atributos importantes no objeto Configuration para autenticação são:
As autoridades da AAD são do tipo
Azure autoridades B2C têm a forma https://{instância}/{inquilino}/{política}. Cada apólice é considerada uma autoridade própria. Terá de definir todas as autoridades conhecidas no momento da criação da candidatura do cliente. As autoridades do ADFS têm a forma https://{instance}/adfs. |
Métodos
| acquire |
Adquire um token da autoridade usando o fluxo de código do dispositivo OAuth2.0. Este fluxo foi concebido para dispositivos que não têm acesso a um navegador ou apresentam restrições de entrada. O servidor de autorização emite um objeto DeviceCode com um código de verificação, um código do utilizador final e o URI de verificação do utilizador final. O objeto DeviceCode é fornecido através de um callback, e o utilizador final deve ser instruído a usar outro dispositivo para navegar até ao URI de verificação e introduzir as credenciais. Como o cliente não pode receber pedidos recebidos, interroga repetidamente o servidor de autorização até que o utilizador final complete a introdução das credenciais. |
| acquire |
Adquire um token de forma interativa através do navegador ao pedir um código de autorização e depois trocá-lo por um token. |
| acquire |
Devolve um token recuperado da cache ou trocando o token de atualização por um token de acesso fresco. Se a corretagem estiver ativada, o pedido de token será atendido pelo corretor. |
| get |
Devolve todas as contas em cache desta aplicação. Se a intermediação estiver ativada, este pedido será tratado pelo corretor. |
| sign |
Remove artefactos de cache associados à conta dada |
Métodos Herdados
| acquire |
Adquire um token trocando o Código de Autorização recebido na primeira etapa do fluxo de Código de Autorização OAuth2.0.
|
| acquire |
Adquire um token trocando o token de atualização fornecido por um novo conjunto de tokens. Esta API é fornecida apenas para cenários em que gostaria de migrar de ADAL para MSAL. Caso contrário, recomenda-se usar |
| acquire |
Adquire tokens com concessão de palavra-passe trocando o nome de utilizador e a palavra-passe da aplicação cliente por credenciais A mais recente Prática Atual de Segurança OAuth 2.0 rejeita completamente a concessão de palavra-passe. Mais detalhes sobre esta recomendação na https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 documentação e recomendações da Microsoft encontram-se em:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword |
| clear |
Limpar o cache |
| get |
Cria o URL do pedido de autorização, permitindo ao utilizador inserir credenciais e consentimento para a aplicação. A URL direciona-se para o endpoint /authorize da autoridade configurada no objeto de aplicação. Assim que o utilizador introduz as suas credenciais e consente, a autoridade enviará uma resposta ao URI de redirecionamento enviado no pedido e deverá conter um código de autorização, que poderá então ser usado para adquirir tokens via |
| get |
Devolve a instância do logger |
| get |
Obtém o token cache da aplicação. |
| set |
Substitui o conjunto de logger predefinido em configurações por um novo Logger por novas configurações |
Detalhes do Construtor
PublicClientApplication(Configuration)
Atributos importantes no objeto Configuration para autenticação são:
- clientID: o ID da aplicação da sua aplicação. Pode obter uma ao registar a sua candidatura no nosso portal de registo de candidaturas.
- Autoridade: O URL de autoridade para a sua aplicação.
As autoridades da AAD são do tipo https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}.
- Se a sua aplicação suportar Contas num diretório organizacional, substitua o valor "Enter_the_Tenant_Info_Here" pelo ID do Inquilino ou nome do Inquilino (por exemplo, contoso.microsoft.com).
- Se a sua aplicação suportar Contas em qualquer diretório organizacional, substitua o valor "Enter_the_Tenant_Info_Here" por organizações.
- Se a sua aplicação suportar Contas em qualquer diretório organizacional e contas Microsoft pessoais, substitua o valor "Enter_the_Tenant_Info_Here" por comum.
- Para restringir o suporte apenas a contas Microsoft pessoais, substitua o valor "Enter_the_Tenant_Info_Here" por consumidores.
Azure autoridades B2C têm a forma https://{instância}/{inquilino}/{política}. Cada apólice é considerada uma autoridade própria. Terá de definir todas as autoridades conhecidas no momento da criação da candidatura do cliente.
As autoridades do ADFS têm a forma https://{instance}/adfs.
new PublicClientApplication(configuration: Configuration)
Parâmetros
- configuration
- Configuration
Detalhes de Método
acquireTokenByDeviceCode(DeviceCodeRequest)
Adquire um token da autoridade usando o fluxo de código do dispositivo OAuth2.0. Este fluxo foi concebido para dispositivos que não têm acesso a um navegador ou apresentam restrições de entrada. O servidor de autorização emite um objeto DeviceCode com um código de verificação, um código do utilizador final e o URI de verificação do utilizador final. O objeto DeviceCode é fornecido através de um callback, e o utilizador final deve ser instruído a usar outro dispositivo para navegar até ao URI de verificação e introduzir as credenciais. Como o cliente não pode receber pedidos recebidos, interroga repetidamente o servidor de autorização até que o utilizador final complete a introdução das credenciais.
function acquireTokenByDeviceCode(request: DeviceCodeRequest): Promise<null | AuthenticationResult>
Parâmetros
- request
- DeviceCodeRequest
Devoluções
Promise<null | AuthenticationResult>
acquireTokenInteractive(InteractiveRequest)
Adquire um token de forma interativa através do navegador ao pedir um código de autorização e depois trocá-lo por um token.
function acquireTokenInteractive(request: InteractiveRequest): Promise<AuthenticationResult>
Parâmetros
- request
- InteractiveRequest
Devoluções
Promise<AuthenticationResult>
acquireTokenSilent(SilentFlowRequest)
Devolve um token recuperado da cache ou trocando o token de atualização por um token de acesso fresco. Se a corretagem estiver ativada, o pedido de token será atendido pelo corretor.
function acquireTokenSilent(request: SilentFlowRequest): Promise<AuthenticationResult>
Parâmetros
- request
- SilentFlowRequest
o programador forneceu SilentFlowRequest
Devoluções
Promise<AuthenticationResult>
getAllAccounts()
Devolve todas as contas em cache desta aplicação. Se a intermediação estiver ativada, este pedido será tratado pelo corretor.
function getAllAccounts(): Promise<AccountInfo[]>
Devoluções
Promise<AccountInfo[]>
signOut(SignOutRequest)
Remove artefactos de cache associados à conta dada
function signOut(request: SignOutRequest): Promise<void>
Parâmetros
- request
- SignOutRequest
o programador forneceu o SignOutRequest
Devoluções
Promise<void>
Detalhes do Método Herdado
acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)
Adquire um token trocando o Código de Autorização recebido na primeira etapa do fluxo de Código de Autorização OAuth2.0.
getAuthCodeUrl(AuthorizationCodeUrlRequest) pode ser usado para criar a URL para o primeiro passo do fluxo de Código de Autorização OAuth2.0. Certifique-se de que os valores para redirectUri e os escopos em AuthorizationCodeUrlRequest e AuthorizationCodeRequest são os mesmos.
function acquireTokenByCode(request: AuthorizationCodeRequest, authCodePayLoad?: AuthorizationCodePayload): Promise<AuthenticationResult>
Parâmetros
- request
- AuthorizationCodeRequest
- authCodePayLoad
- AuthorizationCodePayload
Devoluções
Promise<AuthenticationResult>
Herdado deClientApplication.acquireTokenByCode
acquireTokenByRefreshToken(RefreshTokenRequest)
Adquire um token trocando o token de atualização fornecido por um novo conjunto de tokens.
Esta API é fornecida apenas para cenários em que gostaria de migrar de ADAL para MSAL. Caso contrário, recomenda-se usar acquireTokenSilent() para cenários silenciosos. Ao usar acquireTokenSilent(), o MSAL gerirá automaticamente a cache e a atualização dos tokens.
function acquireTokenByRefreshToken(request: RefreshTokenRequest): Promise<null | AuthenticationResult>
Parâmetros
- request
- RefreshTokenRequest
Devoluções
Promise<null | AuthenticationResult>
acquireTokenByUsernamePassword(UsernamePasswordRequest)
Aviso
Esta API foi preterida.
- Use a more secure flow instead
Adquire tokens com concessão de palavra-passe trocando o nome de utilizador e a palavra-passe da aplicação cliente por credenciais
A mais recente Prática Atual de Segurança OAuth 2.0 rejeita completamente a concessão de palavra-passe. Mais detalhes sobre esta recomendação na https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 documentação e recomendações da Microsoft encontram-se em:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword
function acquireTokenByUsernamePassword(request: UsernamePasswordRequest): Promise<null | AuthenticationResult>
Parâmetros
- request
- UsernamePasswordRequest
UsernamePasswordRequest
Devoluções
Promise<null | AuthenticationResult>
Herdado deClienteAplicação.adquireTokenPorNomeUtilizadorPassword
clearCache()
getAuthCodeUrl(AuthorizationUrlRequest)
Cria o URL do pedido de autorização, permitindo ao utilizador inserir credenciais e consentimento para a aplicação. A URL direciona-se para o endpoint /authorize da autoridade configurada no objeto de aplicação.
Assim que o utilizador introduz as suas credenciais e consente, a autoridade enviará uma resposta ao URI de redirecionamento enviado no pedido e deverá conter um código de autorização, que poderá então ser usado para adquirir tokens via acquireTokenByCode(AuthorizationCodeRequest).
function getAuthCodeUrl(request: AuthorizationUrlRequest): Promise<string>
Parâmetros
- request
- AuthorizationUrlRequest
Devoluções
Promise<string>
Herdado deClientApplication.getAuthCodeUrl
getLogger()
Devolve a instância do logger
function getLogger(): Logger
Devoluções
Herdado deClientApplication.getLogger
getTokenCache()
Obtém o token cache da aplicação.
function getTokenCache(): TokenCache
Devoluções
Herdado deClientApplication.getTokenCache
setLogger(Logger)
Substitui o conjunto de logger predefinido em configurações por um novo Logger por novas configurações
function setLogger(logger: Logger)
Parâmetros
- logger
- Logger
Instância de logger
Herdado deClientApplication.setLogger