Você tem um aplicativo de página única (SPA) que chama uma API Web do Azure App Service (API A). A API A deve chamar uma API downstream (API B) em nome do usuário conectado e aplicar as permissões do usuário na API B. A API B já expõe escopos em seu registro de aplicativo. Você precisa preservar a identidade do usuário ao chamar a API B e evitar conceder permissões amplas de aplicativo à API A. Quais duas ações você deve realizar?
Escolha uma resposta
Toque em uma opção para verificar sua resposta.
Resposta correta: Na API A, use o MSAL para trocar o token de usuário de entrada por um token downstream chamando AcquireTokenOnBehalfOf com o token de portador de entrada como um UserAssertion e envie esse token para a API B., No Azure AD, adicione a API B como uma permissão delegada ao registro do aplicativo da API A e conceda consentimento de administrador para os escopos necessários..
Por que esta é a resposta
Para preservar a identidade do usuário e aplicar as permissões na API B, a API A precisa obter um token para a API B em nome do usuário. Isso é feito usando o fluxo "On-Behalf-Of" (OBO), onde a API A troca o token do usuário recebido do SPA por um novo token para a API B. A função AcquireTokenOnBehalfOf do MSAL é projetada para esse cenário, utilizando o token de entrada do usuário como uma UserAssertion. Além disso, a API A deve ter permissão para chamar a API B. Adicionar a API B como uma permissão delegada no registro do aplicativo da API A e conceder consentimento de administrador garante que a API A possa solicitar tokens para a API B em nome dos usuários. As opções incorretas não atendem aos requisitos: O fluxo de credenciais do cliente faria com que a API A chamasse a API B com sua própria identidade, perdendo a identidade do usuário. Configurar a API B para exigir funções de aplicativo não resolve a necessidade de a API A obter um token para a API B em nome do usuário com as permissões corretas.
Passe no seu exame — sem a busca interminável por respostas
Obtenha todas as perguntas e explicações verificadas para este exame em um só lugar e economize horas de preparação. Mais de 1.000 certificações · Mais de 20 idiomas · Grátis para começar.
Passe no seu exame mais rápido → Não é necessário cartão