Preparar tenant externo para consumir uma API num aplicativo web em Node.js
Aplica-se a: Locatários da força de trabalho
Locatários externos (saiba mais)
Neste artigo, você prepara seu locatário externo para autorização. Este artigo é a primeira parte de um guia de quatro partes.
Pré-requisito
Conclua as etapas em Tutorial: Prepare o seu inquilino externo para permitir que os utilizadores iniciem sessão numa aplicação Web Node.js. Depois de concluir este tutorial, regista uma aplicação no inquilino do cliente e tem uma aplicação Web em que os utilizadores iniciam sessão. Referimo-nos a esta aplicação Web como a aplicação cliente. Você estende este aplicativo para chamar uma API da Web protegida.
Conclua as etapas em Tutorial: Proteger uma API da Web ASP.NET registrada num inquilino externo. Depois de concluir este tutorial, você registra uma API da Web no locatário do cliente, que expõe as permissões da API e publica as funções do aplicativo. Você também tem uma API da Web segura. Você chama essa API da Web a partir do aplicativo Web cliente.
Configurar a reivindicação de token idtyp [opcional]
Pode adicionar a declaração opcional idtyp para ajudar a API da Web a determinar se um token é um token de aplicação ou um token de aplicação + utilizador. Embora você possa usar uma combinação de declarações scp e roles para a mesma finalidade, usar a declaração idtyp é a maneira mais fácil de diferenciar um token de aplicativo e um token de aplicativo + usuário. Por exemplo, o valor desta declaração é app quando o token é um token exclusivo para app.
Use os passos no artigo Configurar declarações opcionais para adicionar a declaração idtyp ao token de acesso.
- Para o Tipo de token, selecione Acesso.
- Na lista de declarações opcionais, selecione idtyp.
Conceder permissões de API ao aplicativo Web
A partir dos pré-requisitos, você registrou um aplicativo cliente no locatário do cliente. Você também registrou um aplicativo de API da Web em seus clientes. Agora, você precisa conceder permissões de API para seu aplicativo cliente:
Na página Registros de aplicativos, selecione o aplicativo que você criou (como ciam-client-app) para abrir a página Visão geral.
Em Gerenciar, selecione Permissões de API.
Em Permissões configuradas, selecione Adicionar uma permissão.
Selecione o separador APIs que a minha organização usa.
Na lista de APIs, selecione a API, como ciam-ToDoList-api.
Selecione a opção Permissões delegadas.
Na lista de permissões, selecione ToDoList.Read, ToDoList.ReadWrite (use a caixa de pesquisa, se necessário).
Selecione o botão Adicionar permissões .
Neste ponto, você atribuiu as permissões corretamente. No entanto, como o locatário é locatário de um cliente, os próprios usuários consumidores não podem consentir com essas permissões. Para resolver isso, você, como administrador, deve consentir com essas permissões em nome de todos os usuários no locatário:
Selecione Conceder consentimento de administrador para <o nome> do seu inquilino e, em seguida, selecione Sim.
Selecione Atualizar e verifique se Concedido para <o nome do seu locatário> aparece em Estado para ambas as permissões.
Na lista Permissões configuradas, selecione as permissões ToDoList.Read e ToDoList.ReadWrite, uma de cada vez, e copie o URI completo da permissão para uso posterior. O URI de permissão total é semelhante a
api://{clientId}/{ToDoList.Read}
ouapi://{clientId}/{ToDoList.ReadWrite}
.
Próximo passo
Em seguida, saiba como preparar seu aplicativo Web e sua API.