Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Navigateur système
MSAL prend en charge l’acquisition de jetons de manière interactive sur les clients publics via l’utilisation du navigateur système. Par défaut, MSAL démarre le navigateur système en tant que processus distinct, dirige l’utilisateur vers l’URL d’autorisation et intercepte la réponse d’autorisation. Vous pouvez personnaliser ce comportement, par exemple la façon dont la fenêtre du navigateur est ouverte et ce que l’utilisateur voit après l’autorisation, en configurant le SystemBrowserOptions paramètre d’une requête interactive.
MSAL écoute http://localhost:port et intercepte le code envoyé par l’autorité lorsque l’utilisateur s’authentifie. MSAL ne peut pas détecter si l’utilisateur quitte ou ferme simplement le navigateur. Les applications utilisant cette technique sont encouragées à définir un délai d’expiration. Nous recommandons un délai d’expiration d’au moins quelques minutes pour prendre en compte les cas où l’utilisateur est invité à modifier le mot de passe ou à effectuer 2FA.
Comment utiliser le navigateur de système d’exploitation par défaut
Pendant l’inscription de l’application, configurez http://localhost en tant qu’URI de redirection. Dans le cas de B2C, vous devez inscrire un port http://locahost:portspécifique.
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();
Personnalisation de l’expérience
MSAL tente d’ouvrir le navigateur système par défaut, le cas échéant, sur l’ordinateur des utilisateurs. Vous pouvez personnaliser cette logique en fournissant votre propre implémentation de OpenBrowserAction
- Implémentez
OpenBrowserAction - Transmettre une action personnalisée à
SystemBrowserOptions
class CustomOpenBrowserAction implements OpenBrowserAction {
@Override
public void openBrowser(URL url){
//Custom logic to open URL
}
}
SystemBrowserOptions options =
SystemBrowserOptions
.builder()
.openBrowserAction(new CustomOpenBrowserAction())
.build();
Vous pouvez également personnaliser le message HTML que l’utilisateur voit après l’authentification ou même fournir une URL vers laquelle vous souhaitez que l’utilisateur soit redirigé après l’authentification.
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();