Autenticação do .NET WebApi

Atualmente, tenho um aplicativo da web MVC que vende widgets. Um usuário efetua login em nosso sistema usando a autenticação de formulários e pode fazer várias funções com base no grupo ao qual pertence (ou seja, fazer um pedido, ver um pedido, cancelar um pedido etc.).

Fomos encarregados de escrever uma Api que dará a terceiros a capacidade de criar e visualizar pedidos em nosso sistema. Cada terceiro terá seu próprio nome de usuário e estará limitado a determinados métodos de API baseados no grupo ao qual pertencem.

Estamos olhando para usar o Web Api como um mecanismo para fornecer a API. Também gostaríamos de poder consumir essa API do nosso aplicativo da web MVC. Infelizmente, estamos enfrentando problemas com a autenticação para o Web Api. Usando um DelegatingHandler, implementamos a Autenticação Básica sobre SSL para o nosso WebApi. Isso funciona muito bem para nossos terceiros. No entanto, ao tentar consumir o Api de nosso aplicativo MVC, estamos obtendo erros de acesso negado 401 porque o usuário foi autenticado no aplicativo MVC usando autenticação de Formulários, mas não temos como passar essas credenciais para o Web Api. Existe uma maneira de passar as credenciais de Autenticação de formulários do nosso aplicativo MVC para nosso aplicativo de API da web?

WebSite de configuração do IIS chamado WidgetStore com dois aplicativos da Web

Autenticação de formulários do WidgetStore \ UI -usesWidgetStore \ Api - usa autenticação básica

questionAnswers(1)

yourAnswerToTheQuestion