Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:
Inquilinos da força de trabalho (saiba mais)
Agora que você tem um token, pode chamar uma API da Web protegida.
Chamar uma API Web
AuthenticationResult propriedades em MSAL.NET
Os métodos para adquirir tokens retornam AuthenticationResult. Para métodos assíncronos, Task<AuthenticationResult> retorna.
Em MSAL.NET, AuthenticationResult expõe:
-
AccessTokenpara a API da Web acessar recursos. Este parâmetro é uma cadeia de caracteres, geralmente um JWT codificado em Base-64. O cliente nunca deve olhar para dentro do token de acesso. Não é garantido que o formato permaneça estável e pode ser criptografado para o recurso. Escrever 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 utilizador. Este 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 no qual o usuário foi encontrado. Para 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 clientes confidenciais em que os tokens são solicitados sem usuário para o aplicativo, essas informações do usuário são nulas. - O
Scopespara o qual o token foi emitido. - O ID exclusivo para o usuário.
IAccount
MSAL.NET define a noção de uma conta através da IAccount interface. Esta mudança de rutura fornece a semântica correta. O mesmo usuário pode ter várias contas, em diferentes diretórios do Microsoft Entra. Além disso, MSAL.NET fornece melhores informações no caso de cenários de convidados, porque as informações da conta doméstica são fornecidas.
O diagrama a seguir mostra a estrutura da IAccount interface.
A AccountId classe 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 e ObjectId separada TenantId por uma vírgula. Eles não são codificados na Base 64. |
A IAccount interface 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 exibível no formato UPN (UserPrincipalName), por exemplo, john.doe@contoso.com. Essa cadeia de caracteres pode ser null, ao contrário de HomeAccountId e HomeAccountId.Identifier, que não serão nulos. Esta propriedade substitui a DisplayableId propriedade de IUser em versões anteriores do MSAL.NET. |
Environment |
Uma cadeia de caracteres que contém o provedor de identidade para essa conta, por exemplo, login.microsoftonline.com. Esta propriedade substitui a IdentityProvider propriedade da , exceto que IUser também tinha informações sobre o inquilino, além do ambiente de IdentityProvidernuvem. Aqui, o valor é apenas o host. |
HomeAccountId |
O ID da conta inicial do usuário. Essa propriedade identifica exclusivamente o usuário entre os locatários do Microsoft Entra. |
Usar o token para chamar uma API protegida
Depois AuthenticationResult de ser retornado pelo MSAL no 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óximos passos
Saiba mais criando um aplicativo de página única (SPA) React que inicia sessão nos utilizadores na seguinte série de tutoriais com várias partes.
Explore exemplos de código da área de trabalho da plataforma de identidade da Microsoft