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.
Saiba como criar uma aplicação nativa, fazer login de utilizadores autenticados pelo AD FS 2019 e adquirir tokens usando a biblioteca MSAL para aceder a APIs web.
Antes de ler este artigo, você deve estar familiarizado com os conceitos do AD FS e fluxo de concessão de código de autorização
Overview
Nesse fluxo, adiciona autenticação à sua aplicação nativa (cliente público), que pode, assim, autenticar utilizadores e invocar uma API Web. Para chamar uma API da Web a partir de uma aplicação nativa que autentica os utilizadores, pode usar o método de aquisição de token AcquireTokenInteractive da MSAL. Para permitir essa interação, a MSAL utiliza um navegador da Web.
Para entender melhor como configurar um aplicativo nativo no AD FS para adquirir token de acesso interativamente, vamos usar um exemplo disponível aqui e passo a passo as etapas de registro e configuração de código do aplicativo.
Pre-requisites
- Ferramentas de cliente do GitHub
- AD FS 2019 ou posterior configurado e em execução
- Visual Studio 2013 ou posterior
Registo de Aplicações no AD FS
Esta seção mostra como registrar o Aplicativo Nativo como um cliente público e a API da Web como uma Parte Confiável (RP) no AD FS
Em Gestão do AD FS, clique com o botão direito do rato em Grupos de Aplicações e selecione Adicionar Grupo de Aplicação.
No Assistente de Grupo de Aplicações, para o campo Nome insira NativeAppToWebApi e em Client-Server aplicações selecione o modelo Aplicativo nativo a aceder uma API Web. Clique em Next.
Copie o valor do Identificador de Cliente . Ele será usado posteriormente como o valor para ClientId no arquivo App.config do aplicativo. Insira o seguinte para URI de redirecionamento:https://ToDoListClient. Clique em Adicionar. Clique em Next.
Na tela Configurar API Web, insira o Identificador de :https://localhost:44321/. Clique em Adicionar. Clique em Next. Esse valor será usado posteriormente nos arquivos App.config e Web.config do aplicativo.
No ecrã Aplicar Política de Controle de Acesso, selecione Permitir a todos e clique em Seguinte.
No ecrã Configurar Permissões da Aplicação, certifique-se de que openid está selecionado e clique em Avançar.
No ecrã de Resumo, clique em Seguinte.
No ecrã Concluído, clique em Fechar.
Em Gerenciamento do AD FS, clique em Grupos de Aplicativos e selecione NativeAppToWebApi grupo de aplicativos. Clique com o botão direito do mouse e selecione Propriedades.
Na tela de propriedades do NativeAppToWebApi, selecione NativeAppToWebApi – Web API em Web API e clique em Editar...
No ecrã NativeAppToWebApi – Web API Properties, selecione o separador Regras de Transformação de Emissão e clique em Adicionar Regra...
No Assistente para Adicionar Regra de Declaração de Transformação, selecione Transformar uma Declaração de Entrada no modelo de regra de declaração : menu suspenso e clique em Avançar.
Insira NameID no campo Nome da regra de declaração :. Selecione Nome para o tipo de declaração de entrada :, ID de nome para o tipo de declaração de saída : e Nome comum para o formato de ID de nome de saída :. clique em Concluir.
Clique em OK na tela NativeAppToWebApi – Web API Properties e, em seguida, na tela NativeAppToWebApi Properties.
Configuração de código
Esta seção mostra como configurar um aplicativo nativo para autenticar o utilizador e recuperar o token para chamar a API Web
Faça o download do exemplo do aqui
Abrir o exemplo usando o Visual Studio
Abra o arquivo App.config. Modifique o seguinte:
ida:Autoridade - introduza h
ttps://[your AD FS hostname]/adfsida:ClientId - insira o valor do Identificador do Cliente de #3 na secção Acima mencionada do Registro de Aplicativo no AD FS.
ida:RedirectUri - insira o valor de URI de Redirecionamento de no #3 na secção 'Registo de Aplicação' no AD FS acima.
todo:TodoListResourceId – insira o valor do Identificador de #4 na seção de Registro de Aplicativo no AD FS acima
ida: todo:TodoListBaseAddress - insira o valor do Identificador do de #4 na seção de Registro de Aplicativo no AD FS acima.
Abra o arquivo Web.config. Modifique o seguinte:
ida:Audience - insira o valor do Identificador , de #4 na seção de Registo de Aplicações no AD FS, conforme mencionado acima.
ida: AdfsMetadataEndpoint - insira
https://[your AD FS hostname]/federationmetadata/2007-06/federationmetadata.xml
Testar a amostra
Esta seção mostra como testar o exemplo configurado acima.
Depois que as alterações de código forem feitas, reconstrua a solução
No Visual Studio, clique com o botão direito do mouse na solução e selecione Definir Projetos de Inicialização...
Nas páginas de Propriedades, verifique se Ação está definido como Iniciar para cada um dos Projetos
Na parte superior do Visual Studio, clique na seta verde.
No ecrã principal da aplicação nativa, clique em Entrar.
Se não vires o ecrã da aplicação nativa, pesquisa e remove os ficheiros *msalcache.bin da pasta onde o repositório do projeto está guardado no teu sistema.
Será redirecionado para a página de início de sessão do AD FS. Vá em frente e faça login.
Depois de entrar, insira o texto Construir Aplicação Nativa para API Web no Criar um item de Tarefa. Clique em Adicionar item. Isso chamará o Serviço de Lista de Tarefas (Web API) e adicionará o item na cache.
Próximas Etapas
Fluxos OpenID Connect/OAuth do AD FS e Cenários de Aplicação