Estou tentando adicionar autenticação ao meu aplicativo de funções do Azure antes de permitir que solicitações sejam processadas.
Para evitar o manuseio manual da tokenização, tentei configurar o Provedor de Identidade para meu Aplicativo de Função.
O que fiz até agora: Criei um registro de aplicativo com as seguintes configurações:
Página de autenticação:
Permissões da API:
Expor uma API
Provedor de identidade
O problema:
quando tento testar ou executar minha função, recebo um erro 401 Unauthorized. Eu esperava que o Identity Provider lidasse com a autenticação automaticamente. No entanto, quando clico no domínio padrão, ele não solicita autorização. Em vez disso, uma nova janela é aberta com as seguintes telas:
Observações adicionais:
Se eu navegar manualmente até https://func-myfunc-01.azurewebsites.net/.auth/login/aad/callback
, a autenticação funciona e sou autorizado com sucesso.
Meu objetivo:
Quero que os usuários sejam solicitados a autenticar antes de acessar a URL da Função. Uma vez autenticados, eles devem conseguir executar a função.
O que estou fazendo errado? Qualquer orientação seria muito apreciada.
Obrigado!
Autenticação e autorização são diferentes uma da outra. Adicionar o provedor de identidade para nossa instância de função do Azure nos fornece uma maneira simples de proteger endpoints de função.
A autenticação exige que você faça login antes e depois visite um recurso seguro, então precisamos definir um redirecionamento (http 302 executa o redirecionamento de URL), enquanto a autorização sempre exige um token de acesso válido no cabeçalho da solicitação e retornará o erro 401 para indicar que não há token ou que o token é inválido, ou retornará o código de erro 403 para indicar que o token é válido, mas tem permissão de acesso insuficiente.
O OP confirmou que escolher o redirecionamento 302 em vez de 401 ao adicionar o provedor de identidade para a função do Azure pode resolver o problema.