Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Navegador de Sistema
O MSAL suporta a aquisição interativa de tokens em clientes públicos através do uso do navegador do sistema. Por defeito, o MSAL inicia o navegador do sistema como um processo separado, direciona o utilizador para a URL de autorização e interceta a resposta de autorização. Pode personalizar este comportamento, como a forma como a janela do navegador é aberta e o que o utilizador vê após a autorização, configurando o SystemBrowserOptions parâmetro de um pedido interativo.
A MSAL vai ouvir http://localhost:port e intercetar o código que a autoridade envia quando o utilizador terminar a autenticação. O MSAL não consegue detetar se o utilizador navega para fora ou simplesmente fecha o navegador. As aplicações que utilizam esta técnica são incentivadas a definir um timeout. Recomendamos um intervalo de pelo menos alguns minutos para ter em conta os casos em que o utilizador é solicitado a mudar a palavra-passe ou a realizar 2FA.
Como usar o navegador do sistema operativo predefinido
Durante o registo da aplicação, configure http://localhost como um URI de redirecionamento. No caso do B2C, terá de registar uma porta http://locahost:portespecífica.
PublicClientApplication publicClientApplication =
PublicClientApplication
.builder(CLIENT_ID)
.authority(AUTHORITY)
.build();
InteractiveRequestParameters parameters = InteractiveRequestParameters
.builder(new URI("http://localhost"))
.scopes(scope)
.build();
IAuthenticationResult result = publicClientApplication.acquireToken(parameters).join();
Personalização da experiência
O MSAL tenta abrir o navegador do sistema predefinido, se estiver disponível, na máquina do utilizador. Pode personalizar esta lógica fornecendo a sua própria implementação de OpenBrowserAction
- Implementar
OpenBrowserAction - Transmitir a ação personalizada para
SystemBrowserOptions
class CustomOpenBrowserAction implements OpenBrowserAction {
@Override
public void openBrowser(URL url){
//Custom logic to open URL
}
}
SystemBrowserOptions options =
SystemBrowserOptions
.builder()
.openBrowserAction(new CustomOpenBrowserAction())
.build();
Também pode personalizar a mensagem HTML que o utilizador vê após a autenticação ou até fornecer um URL para onde quer que o utilizador seja redirecionado após a autenticação.
SystemBrowserOptions options =
SystemBrowserOptions
.builder()
.htmlMessageSuccess("CUSTOM_HTML_HERE")
.htmlMessageError("CUSTOM_HTML_HERE")
.build();
// OR
SystemBrowserOptions options =
SystemBrowserOptions
.builder()
.browserRedirectSuccess(new URI("http://localhost:port"))
.browserRedirectError(new URI ("http://localhost:port"))
.build();