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.
Aplica-se a:
Locatários da força de trabalho (saiba mais)
Agora que você tem um token, é possível chamar uma API Web protegida.
Chamar uma API da Web
Propriedades de AuthenticationResult em MSAL.NET
Os métodos para adquirir retorno de tokens AuthenticationResult. Para métodos assíncronos, Task<AuthenticationResult> retorna.
No MSAL.NET, AuthenticationResult expõe:
-
AccessTokenpara a API da web acessar recursos. Este parâmetro é uma cadeia de caractere, geralmente um JWT codificado em Base 64. O cliente nunca deve olhar dentro do token de acesso. Não há garantia de que o formato permaneça estável e pode ser criptografado para o recurso. A gravação de código que depende do conteúdo do token de acesso no cliente é uma das maiores fontes de erros e quebras de lógica do cliente. Para obter mais informações, consulte Tokens de acesso. -
IdTokenpara o usuário. Esse parâmetro é um JWT codificado. Para obter mais informações, consulte Tokens de ID. -
ExpiresOninforma a data e a hora em que o token expira. -
TenantIdcontém o locatário em que o usuário foi encontrado. Para os usuários convidados em cenários B2B do Microsoft Entra, a ID do locatário é o locatário convidado, não o locatário exclusivo. Quando o token é entregue para um usuário,AuthenticationResulttambém contém informações sobre esse usuário. Para fluxos de cliente confidenciais em que tokens são solicitados sem nenhum usuário para o aplicativo, essas informações do usuário são nulas. - O
Scopespara o qual o token foi emitido. - A ID exclusiva para o usuário.
IAccount
MSAL.NET define a noção de uma conta por meio da interface IAccount. Essa alteração significativa fornece a semântica certa. O mesmo usuário pode ter várias contas, em diferentes diretórios do Microsoft Entra. Além disso, o MSAL.NET fornece melhores informações no caso de cenários de convidado porque as informações da conta doméstica são fornecidas.
O diagrama a seguir mostra a estrutura daIAccount interface.
A classe AccountId identifica uma conta em um locatário específico com as propriedades mostradas na tabela a seguir.
| Propriedade | Descrição |
|---|---|
TenantId |
Uma representação de cadeia de caracteres para um GUID, que é a ID do locatário onde a conta reside. |
ObjectId |
Uma representação de cadeia de caracteres para um GUID, que é a ID do usuário que possui a conta no locatário. |
Identifier |
Identificador exclusivo da conta.
Identifier é a concatenação de ObjectId e TenantId separada por uma vírgula. Eles não são codificados em Base 64. |
A interface IAccount representa informações sobre uma única conta. O mesmo usuário pode estar presente em diferentes locatários, o que significa que um usuário pode ter várias contas. Seus membros são mostrados na tabela a seguir.
| Propriedade | Descrição |
|---|---|
Username |
Uma cadeia de caracteres que contém o valor de exibição no formato UserPrincipalName (UPN), por exemplo, john.doe@contoso.com. Essa cadeia de caracteres pode ser nula, ao contrário de HomeAccountId e HomeAccountId.Identifier, que não será nula. Esta propriedade substitui a propriedade DisplayableId de IUser nas versões anteriores do MSAL.NET. |
Environment |
Uma cadeia de caracteres que contém o provedor de identidade para esta conta, por exemplo, login.microsoftonline.com. Esta propriedade substitui aIdentityProvider propriedade de IUser, exceto que IdentityProvidertambém tinha informações sobre o locatário, além do ambiente de nuvem. Aqui, o valor é apenas o host. |
HomeAccountId |
A ID da conta inicial do usuário. Essa propriedade identifica exclusivamente o usuário nos locatários do Microsoft Entra. |
Use o token para chamar uma API protegida
Depois de AuthenticationResult ser retornado pelo MSAL em result, adicione-o ao cabeçalho de autorização HTTP antes de fazer a chamada para acessar a API da web protegida.
httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken);
// Call the web API.
HttpResponseMessage response = await _httpClient.GetAsync(apiUri);
...
Próximas etapas
Saiba mais criando um Aplicativo de Página Única (SPA) React que conecta usuários na série de tutoriais de várias partes a seguir.
Explore as amostras de código de área de trabalho da plataforma de identidade da Microsoft