Composant de connexion dans le Kit de ressources Microsoft Graph
Un composant De connexion est un contrôle de bouton et de menu volant pour faciliter l’authentification Plateforme d'identités Microsoft. Il fournit deux états :
- Lorsque l’utilisateur n’est pas connecté, le contrôle est un simple bouton pour lancer le processus de connexion.
- Lorsque l’utilisateur est connecté, le contrôle affiche le nom d’utilisateur connecté, l’image de profil et l’e-mail actuels. Lorsque vous cliquez dessus, un menu volant est ouvert avec une commande pour vous déconnecter.
Vous pouvez également autoriser la connexion avec plusieurs comptes. Cela répertorie tous vos comptes connectés et vous donne la possibilité de vous connecter avec d’autres nouveaux comptes.
Exemple
L’exemple suivant montre le mgt-login
composant avec un utilisateur connecté.
Utilisation du contrôle sans fournisseur d’authentification
Le composant fonctionne avec un fournisseur et Microsoft Graph prête à l’emploi. Toutefois, si vous souhaitez fournir votre propre logique et votre propre authentification, vous pouvez utiliser la userDetails
propriété pour définir les détails de l’utilisateur connecté.
Attribut | Propriété | Description |
---|---|---|
login-view | Loginview | Détermine le style d’affichage à appliquer à l’utilisateur connecté. Les options sont « full », « compact », « avatar » et la valeur par défaut est « full » |
show-presence | showPresence | Détermine si l’indicateur de présence de l’utilisateur actuel sur le mgt-person contrôle est affiché avec un utilisateur authentifié. La valeur par défaut est false . |
détails de l’utilisateur | userDetails | Permet de définir les détails de l’objet utilisateur que le composant affichera. |
L’exemple suivant définit les détails de la personne.
let loginControl = document.getElementById("myLoginControl");
loginControl.userDetails = {
displayName: "Nikola Metulev",
mail: "nikola@contoso.com",
personImage: "url to the image",
};
Le paramètre userDetails
sur null
passe à l’état déconnecté.
Propriétés personnalisées CSS
Le mgt-login
composant définit les propriétés personnalisées CSS suivantes.
<mgt-login class="login"></mgt-login>
.login {
--login-signed-out-button-background: red;
--login-signed-out-button-hover-background: orange;
--login-signed-out-button-text-color: purple;
--login-signed-in-background: red;
--login-signed-in-hover-background: green;
--login-button-padding: 5px;
--login-popup-background-color: blue;
--login-popup-text-color: brown;
--login-popup-command-button-background-color: orange;
--login-popup-padding: 8px;
--login-add-account-button-text-color: yellow;
--login-add-account-button-background-color: red;
--login-add-account-button-hover-background-color: purple;
--login-command-button-background-color: orange;
--login-command-button-hover-background-color: purple;
--login-command-button-text-color: black;
--login-person-avatar-size: 60px;
/** person component tokens **/
--person-line1-text-color: whitesmoke;
--person-line2-text-color: white;
--person-background-color: blue;
}
Pour en savoir plus, consultez composants de style.
Événements
Les événements suivants sont déclenchés à partir du contrôle .
Événement | Quand est-il émis | Données personnalisées | Annulable | Bulles | Fonctionne avec un modèle personnalisé |
---|---|---|---|---|---|
loginInitiated |
L’utilisateur a cliqué sur le bouton de connexion pour démarrer le processus de connexion | Aucun | Oui | Non | Oui |
loginCompleted |
Le processus de connexion a réussi et l’utilisateur est maintenant connecté | Aucune | Non | Non | Oui |
loginFailed |
L’utilisateur a annulé le processus de connexion ou n’a pas pu se connecter | Aucune | Non | Non | Oui |
logoutInitiated |
L’utilisateur a commencé à se déconnecter | Aucun | Oui | Non | Oui |
logoutCompleted |
L’utilisateur s’est déconnecté | Aucune | Non | Non | Oui |
Utilisez les loginInitiated
événements et logoutInitiated
pour gérer la connexion.
Pour plus d’informations sur la gestion des événements, consultez événements.
Modèles
Le mgt-login
composant prend en charge plusieurs modèles qui vous permettent de remplacer certaines parties du composant. Pour spécifier un modèle, incluez un <template>
élément à l’intérieur d’un composant et définissez la data-type
valeur sur l’une des valeurs répertoriées dans le tableau suivant.
Type de données | Contexte de données | Description |
---|---|---|
sign-in-button-content |
personDetails : objet person, personImage : chaîne d’image de personne |
Modèle utilisé pour afficher le contenu dans le bouton lorsque l’utilisateur est connecté. |
out-out-button-content | null | Modèle utilisé pour afficher le contenu dans le bouton lorsque l’utilisateur n’est pas connecté. |
flyout-commands |
handleSignOut : déconnexion de la fonction |
Modèle utilisé pour afficher les commandes dans le menu volant |
flyout-person-details |
personDetails : objet person, personImage : chaîne d’image de personne |
Modèle utilisé pour afficher les détails de la personne dans le menu volant. |
Autorisations de Microsoft Graph
Ce composant utilise les API Microsoft Graph suivantes. Pour chacune des demandes d’API, l’une des autorisations répertoriées est requise.
Configuration | Autorisation | API |
---|---|---|
Valeur par défaut. | User.Read, User.ReadWrite, User.ReadBasic.All, User.Read.All, Directory.Read.All, User.ReadWrite.All, Directory.ReadWrite.All | /users/me/ |
Valeur par défaut. | User.Read, User.ReadWrite, User.ReadBasic.All, User.Read.All, User.ReadWrite.All | /users/me//photo/$value |
Sous-composants
Le mgt-login
composant se compose d’un ou plusieurs sous-composants qui peuvent nécessiter d’autres autorisations que celles répertoriées précédemment. Pour plus d’informations, consultez la documentation de chaque sous-composant : mgt-person.
Authentification
Le contrôle de connexion utilise le fournisseur d’authentification global décrit dans la documentation sur l’authentification.
Cache
Ce composant utilise le composant Person pour afficher l’utilisateur et hérite de toute la configuration du cache de celui-ci.
Étendre pour plus de contrôle
Pour les scénarios plus complexes ou une expérience utilisateur vraiment personnalisée, ce composant expose plusieurs protected render*
méthodes de remplacement dans les extensions de composant.
Méthode | Description |
---|---|
renderButton | Affiche le chrome du bouton. |
renderButtonContent | Restitue le contenu du bouton. |
renderSignedInButtonContent | Affiche le contenu du bouton lorsque l’utilisateur est connecté. |
renderSignedOutButtonContent | Affichez le contenu du bouton lorsque l’utilisateur n’est pas connecté. |
renderFlyout | Affiche le chrome du menu volant. |
renderFlyoutContent | Affiche le contenu du menu volant. |
renderFlyoutPersonDetails | Affiche les détails de la personne volante. |
renderFlyoutCommands | Affiche les commandes de menu volant. |
Apportez votre propre menu volant
Il est possible d’utiliser votre propre composant de menu volant à la place du composant intégré, en remplaçant la renderFlyout()
méthode et en fournissant le nouveau menu volant.
Dans ce cas, assurez-vous que le composant de connexion continue de fonctionner comme prévu en remplaçant les protected
méthodes d’affichage du menu volant pour mettre à jour la visibilité de votre autre menu volant.
Méthode | Description |
---|---|
hideFlyout | Ignore le menu volant. |
showFlyout | Affiche le menu volant. |
toggleFlyout | Active l’état du menu volant. |
Localisation
Le contrôle expose les variables suivantes qui peuvent être localisées. Pour plus d’informations, consultez Localisation des composants.
Nom de la chaîne | Valeur par défaut |
---|---|
signInLinkSubtitle | Sign In |
signOutLinkSubtitle | Sign Out |
signInWithADifferentAccount | Sign in with a different account |