Aplicativo de área de trabalho que chama APIs da Web: chame uma API da Web
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:
AccessToken
para 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.IdToken
para o utilizador. Este parâmetro é um JWT codificado. Para obter mais informações, consulte Tokens de ID.ExpiresOn
informa a data e a hora em que o token expira.TenantId
Conté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,AuthenticationResult
també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
Scopes
para 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.
Property | Description |
---|---|
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 TenantId separada ObjectId 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.
Property | Description |
---|---|
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 IdentityProvider também tinha informações sobre o inquilino, além do ambiente de IUser nuvem. 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