Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Navegador do Sistema
A MSAL dá suporte à aquisição de tokens interativamente em clientes públicos por meio do uso do navegador do sistema. Por padrão, a MSAL iniciará o navegador do sistema como um processo separado, direcionará o usuário para a URL de autorização e interceptará a resposta de autorização. Você pode personalizar esse comportamento, como como a janela do navegador é aberta e o que o usuário vê após a autorização, configurando o SystemBrowserOptions parâmetro de uma solicitação interativa.
A MSAL escutará http://localhost:port e interceptará o código que a autoridade envia quando o usuário terminar de autenticar. A MSAL não pode detectar se o usuário navega para longe ou simplesmente fecha o navegador. Os aplicativos que usam essa técnica são incentivados a definir um tempo limite. Recomendamos um tempo limite de pelo menos alguns minutos para levar em conta casos em que o usuário é solicitado a alterar a senha ou executar 2FA.
Como usar o navegador do sistema operacional padrão
Durante o registro do aplicativo, configure http://localhost como um URI de redirecionamento. No caso de B2C, você precisará registrar 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();
Personalizando a experiência
A MSAL tenta abrir o navegador do sistema padrão, se houver um disponível, no computador dos usuários. Você pode personalizar essa lógica fornecendo sua própria implementação de OpenBrowserAction
- Implementa
OpenBrowserAction - Passar 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();
Você também pode personalizar a mensagem HTML que o usuário vê depois de autenticar ou até mesmo fornecer uma URL para a qual deseja que o usuário 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();