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.
O Fornecedor MSAL2 baseia-se no MSAL-browser que implementa o fluxo de código de autorização OAuth 2.0 com PKCE. É utilizado para iniciar sessão de utilizadores e adquirir tokens para utilizar com o Microsoft Graph.
Para saber mais, veja fornecedores.
Introdução
Pode inicializar o Fornecedor MSAL2 em HTML ou JavaScript.
Inicializar na sua página HTML
Inicializar o fornecedor MSAL2 em HTML é a forma mais simples de criar um novo fornecedor. Utilize o mgt-msal2-provider componente para definir o ID de cliente e outras propriedades. Esta ação cria uma nova PublicClientApplication instância que é utilizada para toda a autenticação e aquisição de tokens.
<mgt-msal2-provider client-id="<YOUR_CLIENT_ID>"
login-type="redirect/popup"
scopes="user.read,people.read"
redirect-uri="https://my.redirect/uri"
authority="">
</mgt-msal2-provider>
| Atributo | Descrição |
|---|---|
| client-id | ID de cliente de cadeia (veja Criar um ID de aplicação/cliente). Obrigatório. |
| login-type | Enumeração entre redirect e popup - valor predefinido é redirect. Opcional. |
| escopos | Cadeias separadas por vírgulas para âmbitos que o utilizador tem de consentir quando inicia sessão. Opcional. |
| anfitriões personalizados | Cadeias separadas por vírgulas para mais domínios que o cliente do Microsoft Graph pode chamar. Opcional. |
| autoridade | Cadeia de autoridade – a predefinição é a autoridade comum. Para aplicações de inquilino único, utilize o ID do inquilino ou o nome do inquilino. Por exemplo: https://login.microsoftonline.com/[your-tenant-contoso.com ou https://login.microsoftonline.com/[your-tenant-id]. Opcional. |
| redirect-uri | Cadeia de URI de redirecionamento – por predefinição, é utilizado o URI da janela atual. Opcional. |
| prompt | Tipo de pedido a utilizar para iniciar sessão, entre SELECT_ACCOUNT, CONSENTe LOGIN. O padrão é SELECT_ACCOUNT. Opcional. |
| url base | O ponto final do Microsoft Graph a ser utilizado para chamadas do Microsoft Graph. Pode ser qualquer uma das implementações de cloud Nacionais suportadas. O valor padrão é https://graph.microsoft.com. |
| incremental-consent-disabled | Especifica se o consentimento incremental está desativado. Predefinição false. Opcional. |
Inicializar em JavaScript
Pode fornecer mais opções ao inicializar o fornecedor em JavaScript.
import {Providers} from '@microsoft/mgt-element';
import {Msal2Provider, Msal2Config, Msal2PublicClientApplicationConfig} from '@microsoft/mgt-msal2-provider';
// initialize the auth provider globally
Providers.globalProvider = new Msal2Provider(config: Msal2Config | Msal2PublicClientApplicationConfig);
Pode configurar o parâmetro construtor Msal2Provider de duas formas, conforme descrito nas secções seguintes.
Fornecer um clientId para criar um novo PublicClientApplication
Esta opção faz sentido quando o Microsoft Graph Toolkit é responsável por toda a autenticação na sua aplicação.
interface Msal2Config {
clientId: string;
scopes?: string[];
customHosts?: string[];
authority?: string;
redirectUri?: string;
loginType?: LoginType; // LoginType.Popup or LoginType.Redirect (redirect is default)
prompt?: PromptType; // PromptType.CONSENT, PromptType.LOGIN or PromptType.SELECT_ACCOUNT
sid?: string; // Session ID
loginHint?: string;
domainHint?: string;
isIncrementalConsentDisabled?: boolean, //Disable incremental consent, true by default
options?: Configuration // msal-browser Configuration object
}
Transmita um existente PublicClientApplication na publicClientApplication propriedade .
Utilize esta opção quando a sua aplicação utilizar a funcionalidade MSAL para além do que é exposto pelas e outras funcionalidades do Msal2Provider Microsoft Graph Toolkit. Isto é adequado se uma arquitetura instanciar e expor automaticamente um PublicClientApplication por si; por exemplo, ao utilizar MSAL-angular. Para obter mais informações, veja o angular-app exemplo no repositório do Microsoft Graph Toolkit.
Certifique-se de que compreende as oportunidades de colisões ao utilizar esta opção. Pela sua própria natureza, existe o risco de o Msal2Provider poder alterar o estado de uma sessão; por exemplo, ao fazer com que o utilizador inicie sessão ou consoante os âmbitos adicionais. Certifique-se de que a sua aplicação e outras arquiteturas respondem corretamente a estas alterações no estado ou considere utilizar um fornecedor personalizado .
interface Msal2PublicClientApplicationConfig {
publicClientApplication: PublicClientApplication;
scopes?: string[];
customHosts?: string[];
authority?: string;
redirectUri?: string;
loginType?: LoginType; // LoginType.Popup or LoginType.Redirect (redirect is default)
prompt?: PromptType; // PromptType.CONSENT, PromptType.LOGIN or PromptType.SELECT_ACCOUNT
sid?: string; // Session ID
loginHint?: string;
domainHint?: string;
isIncrementalConsentDisabled?: boolean, //Disable incremental consent, true by default
options?: Configuration // msal-browser Configuration object
}
Utilizar um ponto final de cloud diferente
Utilize esta opção quando quiser utilizar o toolkit para compor os seus dados a partir de um ponto final diferente do Microsoft 365.
import {Providers, Msal2Provider} from '@microsoft/mgt'
const config: Msal2Config = {
baseUrl: 'https://graph.microsoft.us', // change the base URL
clientId: '2dfea037-xxx-c05708a1b241',
... // rest of the config
}
Providers.globalProvider = new Msal2Provider(config);
Em alternativa:
<mgt-msal2-provider
client-id="2dfea037-xxx-c05708a1b241"
redirect-uri="http://localhost:3000"
base-url="https://dod-graph.microsoft.us"
scopes="user.read,user.read.all">
</mgt-msal2-provider>
Para chamar as APIs personalizadas, peça esse âmbito da API.
<mgt-get resource="https://myapi.com/v1.0/api" scopes="api://CUSTOM_API_GUID/SCOPE">
...
</mgt-get>
Ou através de JavaScript/Typescript.
import { prepScopes } from "@microsoft/mgt-element";
graphClient
.api("https://myapi.com/v1.0/api")
.middlewareOptions(prepScopes("api://CUSTOM_API_GUID/SCOPE"))
.get();
...
Utilizar anfitriões personalizados para chamar diferentes pontos finais protegidos por Microsoft Entra ID
Se quiser chamar os seus próprios pontos finais personalizados Microsoft Entra ID protegidos, transmita esses domínios para o cliente subjacente do Microsoft Graph.
import {Providers, Msal2Provider} from '@microsoft/mgt'
const config: Msal2Config = {
clientId: '2dfea037-xxx-c05708a1b241',
customHosts: ['mydomain.com'] //array of domains, not urls!
... // rest of the config
}
Providers.globalProvider = new Msal2Provider(config);
Em alternativa:
<mgt-msal2-provider
client-id="2dfea037-xxx-c05708a1b241"
redirect-uri="http://localhost:3000"
custom-hosts="mydomain.com"
scopes="user.read,user.read.all">
</mgt-msal2-provider>
Criar um ID de aplicação/cliente
Para obter detalhes sobre como registar uma aplicação e obter um ID de cliente, veja Criar uma aplicação Microsoft Entra.
Migrar do Fornecedor MSAL para o Fornecedor MSAL2
Para migrar uma aplicação que está a utilizar o fornecedor MSAL para o Fornecedor MSAL2:
Expanda o menu >Identidade expanda Aplicações> selecione Registros de aplicativo.
Selecione o registo de aplicações da aplicação a migrar.
Aceda a Autenticação no menu esquerdo.
Em Configurações da plataforma, selecione Adicionar uma plataforma e selecione Aplicação de página única.
Remova todos os URIs de redirecionamento que registou atualmente na Web e, em vez disso, adicione-os em Aplicação de página única.
No código, substitua por
MSALProviderMSAL2Provider.Se inicializar o fornecedor no código JS/TS, siga estes passos:
Substitua a instrução de importação para por
mgt-MSAL-providerimport {Msal2Provider, PromptType} from '@microsoft/mgt-msal2-provider';Substitua a inicialização de MsalProvider por
Providers.globalProvider = new Msal2Provider({ clientId: 'REPLACE_WITH_CLIENTID' ... })Se inicializar o fornecedor em HTML, substitua
<mgt-msal-provider client-id="" ... ></mgt-msal-provider>com
<mgt-msal2-provider client-id="" ... ></mgt-msal2-provider>Para obter detalhes, consulte Inicializar na sua página HTML.