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.
Cuidado
O Microsoft Graph Toolkit foi preterido. O período de aposentadoria começa em 1º de setembro de 2025, com aposentadoria total planejada para 28 de agosto de 2026. Os desenvolvedores devem migrar para o uso dos SDKs do Microsoft Graph ou outras ferramentas do Microsoft Graph com suporte para criar experiências na Web. Para obter mais informações, consulte o anúncio de substituição.
Um componente de Logon é um botão e um controle de submenu para facilitar a autenticação da plataforma de identidade da Microsoft. Ele fornece dois estados:
- Quando o usuário não está conectado, o controle é um botão simples para iniciar o processo de entrada.
- Quando o usuário estiver conectado, o controle exibirá o nome de usuário conectado atual, a imagem de perfil e o email. Quando clicado, um submenu é aberto com um comando para sair.
Você também pode permitir a entrada com várias contas. Isso lista todas as suas contas conectadas e oferece a opção de entrar com outras contas novas.
Exemplo
O exemplo a seguir mostra o mgt-login componente com um usuário conectado.
Usando o controle sem um provedor de autenticação
O componente funciona com um provedor e o Microsoft Graph prontos para uso. No entanto, se você quiser fornecer sua própria lógica e autenticação, poderá usar a userDetails propriedade para definir os detalhes do usuário conectado.
| Atributo | Propriedade | Descrição |
|---|---|---|
| login-view | loginView | Determina o estilo de exibição a ser aplicado ao usuário conectado. As opções são 'full', 'compact', 'avatar', o padrão é 'full' |
| mostrar presença | showPresence | Determina se o indicador de presença do usuário atual no mgt-person controle é mostrado com um usuário autenticado. O padrão é false. |
| detalhes do usuário | userDetails | Permite definir os detalhes do objeto de usuário que o componente exibirá. |
O exemplo a seguir define os detalhes da pessoa.
let loginControl = document.getElementById("myLoginControl");
loginControl.userDetails = {
displayName: "Nikola Metulev",
mail: "nikola@contoso.com",
personImage: "url to the image",
};
A configuração userDetails de null vai para o estado de saída.
Propriedades personalizadas CSS
O mgt-login componente define as seguintes propriedades personalizadas CSS.
<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;
}
Para saber mais, consulte Componentes de estilo.
Eventos
Os eventos a seguir são disparados do controle.
| Evento | Quando é emitido | Dados personalizados | Cancelável | Bolhas | Funciona com modelo personalizado |
|---|---|---|---|---|---|
loginInitiated |
O usuário clicou no botão de entrada para iniciar o processo de entrada | Nenhum | Sim | Não | Sim |
loginCompleted |
O processo de logon foi bem-sucedido e o usuário agora está conectado | Nenhum | Não | Não | Sim |
loginFailed |
O usuário cancelou o processo de logon ou não pôde entrar | Nenhum | Não | Não | Sim |
logoutInitiated |
O usuário começou a fazer logoff | Nenhum | Sim | Não | Sim |
logoutCompleted |
O usuário saiu | Nenhum | Não | Não | Sim |
Use os eventos and logoutInitiated para lidar com a loginInitiated entrada e saída.
Para obter mais informações sobre como lidar com eventos, consulte eventos.
Modelos
O mgt-login componente suporta vários modelos que permitem substituir certas partes do componente. Para especificar um modelo, inclua um <template> elemento dentro de um componente e defina o data-type valor como um dos valores listados na tabela a seguir.
| Tipo de dados | Contexto de dados | Descrição |
|---|---|---|
| conteúdo do botão conectado |
personDetails: person object, personImage: person image string |
O modelo usado para renderizar o conteúdo no botão quando o usuário está conectado. |
| Conteúdo do botão desconectado | null | O modelo usado para renderizar o conteúdo no botão quando o usuário não está conectado. |
| flyout-commands |
handleSignOut: função de saída |
O modelo usado para renderizar os comandos no submenu |
| flyout-person-details |
personDetails: person object, personImage: person image string |
O modelo usado para renderizar os detalhes da pessoa no submenu. |
Permissões do Microsoft Graph
Este componente usa as seguintes APIs do Microsoft Graph. Para cada uma das solicitações de API, uma das permissões listadas é necessária.
| Configuração | Permissão | API |
|---|---|---|
| Padrão. | User.Read, User.ReadWrite, User.ReadBasic.All, User.Read.All, Directory.Read.All, User.ReadWrite.All, Directory.ReadWrite.All | /users/me/ |
| Padrão. | User.Read, User.ReadWrite, User.ReadBasic.All, User.Read.All, User.ReadWrite.All | /users/eu//foto/$value |
Subcomponentes
O mgt-login componente consiste em um ou mais subcomponentes que podem exigir outras permissões além das listadas anteriormente. Para obter mais informações, consulte a documentação de cada subcomponente: mgt-person.
Autenticação
O controle de logon usa o provedor de autenticação global descrito na documentação de autenticação.
Cache
Esse componente usa o componente Pessoa para exibir o usuário e herda todas as configurações de cache dele.
Estenda para mais controle
Para cenários mais complexos ou uma experiência de usuário verdadeiramente personalizada, esse componente expõe vários protected render* métodos de substituição em extensões de componente.
| Método | Descrição |
|---|---|
| renderButton | Renderiza o botão chrome. |
| renderButtonContent | Renderiza o conteúdo do botão. |
| renderSignedInButtonContent | Renderize o conteúdo do botão quando o usuário estiver conectado. |
| renderSignedOutButtonContent | Renderize o conteúdo do botão quando o usuário não estiver conectado. |
| renderFlyout | Renderiza o cromo do submenu. |
| renderFlyoutContent | Renderiza o conteúdo do submenu. |
| renderFlyoutPersonDetails | Renderize os detalhes da pessoa do submenu. |
| renderFlyoutCommands | Renderize os comandos do submenu. |
Traga seu próprio submenu
É possível usar seu próprio componente de submenu no lugar do interno substituindo o renderFlyout() método e fornecendo o novo submenu.
Nesse caso, verifique se o componente de login continua funcionando conforme o esperado, substituindo os protected métodos de exibição de submenu para atualizar a visibilidade do submenu alternativo.
| Método | Descrição |
|---|---|
| hideFlyout | Ignora o submenu. |
| mostrar o Flyout | Exibe o submenu. |
| toggleFlyout | Alterna o estado do submenu. |
Localização
O controle expõe as variáveis a seguir que podem ser localizadas. Para obter detalhes, consulte Localização de componentes.
| Nome da cadeia de caracteres | Valor padrão |
|---|---|
| signInLinkSubtitle | Sign In |
| signOutLinkSubtitle | Sign Out |
| signInWithADifferentAccount | Sign in with a different account |