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.
Cuidado
O Toolkit do Microsoft Graph foi preterido. O período de reforma começa a 1 de setembro de 2025, com a reforma completa prevista para 28 de agosto de 2026. Os programadores devem migrar para utilizar os SDKs do Microsoft Graph ou outras ferramentas suportadas do Microsoft Graph para criar experiências Web. Para obter mais informações, veja o anúncio de preterição.
Um componente de Início de Sessão é um botão e um controlo de lista de opções para facilitar plataforma de identidade da Microsoft autenticação. Fornece dois estados:
- Quando o utilizador não tem sessão iniciada, o controlo é um botão simples para iniciar o processo de início de sessão.
- Quando o utilizador tem sessão iniciada, o controlo apresenta o nome de utilizador, a imagem de perfil e o e-mail com sessão iniciada atual. Quando clicado, é aberta uma lista de opções com um comando para terminar sessão.
Também pode permitir o início de sessão com várias contas. Esta ação lista todas as suas contas com sessão iniciada e dá-lhe uma opção para iniciar sessão com outras contas novas.
Exemplo
O exemplo seguinte mostra o mgt-login componente com um utilizador com sessão iniciada.
Utilizar o controlo sem um fornecedor de autenticação
O componente funciona com um fornecedor e o Microsoft Graph fora da caixa. No entanto, se quiser fornecer a sua própria lógica e autenticação, pode utilizar a userDetails propriedade para definir os detalhes do utilizador com sessão iniciada.
| Atributo | Propriedade | Descrição |
|---|---|---|
| login-view | loginView | Determina o estilo de vista a aplicar ao utilizador com sessão iniciada. As opções são "completas", "compactas", "avatar", predefinidas para "full" |
| mostrar presença | showPresence | Determina se o indicador de presença do utilizador atual no mgt-person controlo é apresentado com um utilizador autenticado. O padrão é false. |
| detalhes do utilizador | userDetails | Permite definir os detalhes do objeto de utilizador que o componente irá apresentar. |
O exemplo seguinte 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 definição userDetails para null passa para o estado de sessão terminada.
Propriedades personalizadas do CSS
O mgt-login componente define as seguintes propriedades personalizadas do 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, veja Componentes de estilo.
Eventos
Os seguintes eventos são acionados a partir do controlo.
| Evento | Quando é emitido | Dados personalizados | Cancelável | Bolhas | Funciona com um modelo personalizado |
|---|---|---|---|---|---|
loginInitiated |
O utilizador clicou no botão de início de sessão para iniciar o processo de início de sessão | Nenhum | Sim | Não | Sim |
loginCompleted |
O processo de início de sessão foi bem-sucedido e o utilizador tem agora sessão iniciada | Nenhum | Não | Não | Sim |
loginFailed |
O utilizador cancelou o processo de início de sessão ou não conseguiu iniciar sessão | Nenhum | Não | Não | Sim |
logoutInitiated |
O utilizador começou a terminar sessão | Nenhum | Sim | Não | Sim |
logoutCompleted |
O utilizador termina sessão | Nenhum | Não | Não | Sim |
Utilize os loginInitiated eventos e logoutInitiated para processar o início e a saída.
Para obter mais informações sobre o processamento de eventos, veja eventos.
Modelos
O mgt-login componente suporta vários modelos que lhe permitem substituir determinadas partes do componente. Para especificar um modelo, inclua um <template> elemento dentro de um componente e defina o data-type valor para um dos valores listados na tabela seguinte.
| Tipo de dados | Contexto de dados | Descrição |
|---|---|---|
| signed-in-button-content |
personDetails: objeto de pessoa, personImage: cadeia de imagem de pessoa |
O modelo utilizado para compor o conteúdo no botão quando o utilizador tem sessão iniciada. |
| signed-out-button-content | null | O modelo utilizado para compor o conteúdo no botão quando o utilizador não tem sessão iniciada. |
| comandos de lista de opções |
handleSignOut: função de terminar sessão |
O modelo utilizado para compor os comandos na lista de opções |
| flyout-person-details |
personDetails: objeto de pessoa, personImage: cadeia de imagem de pessoa |
O modelo utilizado para compor os detalhes da pessoa na lista de opções. |
Permissões do Microsoft Graph
Este componente utiliza as seguintes APIs do Microsoft Graph. Para cada um dos pedidos de API, é necessária uma das permissões listadas.
| 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/me//photo/$value |
Subcomponentes
O mgt-login componente é composto por um ou mais subcomponentes que podem exigir outras permissões do que as listadas anteriormente. Para obter mais informações, consulte a documentação para cada subcomponente: mgt-person.
Autenticação
O controlo de início de sessão utiliza o fornecedor de autenticação global descrito na documentação de autenticação.
Cache
Este componente utiliza o componente Pessoa para apresentar o utilizador e herda toda a configuração da cache do mesmo.
Expandir para obter mais controlo
Para cenários mais complexos ou um UX verdadeiramente personalizado, este componente expõe vários protected render* métodos de substituição em extensões de componentes.
| Método | Descrição |
|---|---|
| renderButton | Compõe o cromado do botão. |
| renderButtonContent | Compõe o conteúdo do botão. |
| renderSignedInButtonContent | Compor o conteúdo do botão quando o utilizador tiver sessão iniciada. |
| renderSignedOutButtonContent | Compor o conteúdo do botão quando o utilizador não tiver sessão iniciada. |
| renderFlyout | Compõe o cromado de lista de opções. |
| renderFlyoutContent | Compõe o conteúdo da lista de opções. |
| renderFlyoutPersonDetails | Componte os detalhes da pessoa da lista de opções. |
| renderFlyoutCommands | Componione os comandos de lista de opções. |
Traga a sua própria lista de opções
É possível utilizar o seu próprio componente de lista de opções em vez do incorporado, substituindo o renderFlyout() método e fornecendo a nova lista de opções.
Neste caso, certifique-se de que o componente de início de sessão continua a funcionar conforme esperado ao substituir os protected métodos de apresentação de lista de opções para atualizar a visibilidade da sua lista de opções alternativa.
| Método | Descrição |
|---|---|
| hideFlyout | Dispensa a lista de opções. |
| showFlyout | Apresenta a lista de opções. |
| toggleFlyout | Ativa/desativa o estado da lista de opções. |
Localização
O controlo expõe as seguintes variáveis que podem ser localizadas. Para obter detalhes, veja Localizar componentes.
| Nome da cadeia | Valor padrão |
|---|---|
| signInLinkSubtitle | Sign In |
| signOutLinkSubtitle | Sign Out |
| signInWithADifferentAccount | Sign in with a different account |