Boas galera!

Quando você cria um projeto WEB API com autenticação, ele adiciona um monte de features que podem não ser úteis para todos os tipos de projetos, então vamos fazer passo a passo e ativar somente o necessário.

  1. Crie um projeto ASP .NET WEB API sem autenticação.

  1. Adicione os pacotes necessários via Nuget:

  1. Criar a classe de startup do Owin (Startup.cs) na raiz do projeto. Vamos criar ela como Partial class para terminar a codificação posteriormente em outro local.
  1. Dentro da pasta App_Start, crie a classe Startup novamente, mas chame o arquivo de Startup.Auth.cs (não é obrigatório ter esse nome).
  1. Crie uma pasta chamada Providers na raiz do projeto.

  2. Dentro da pasta Providers crie uma classe chamada “ApplicationOAuthProvider”, será o nosso Custom Provider para o OAuth

  1. Agora que já temos o nosso provider, vamos voltar ao arquivo Statup.Auth.cs e configurar para aceitar autenticação via OAuth utilizando nosso provider.
  1. Adicione ao seu web.config dentro do nó “”:
  1. Dentro da pasta Controllers, crie um novo “Web API 2 Controller – Empty”, chame ele de “MeController”

<a href="https://i1.wp.com/www.leonardohofling.com/blog/wp-content/uploads/2015/08/Screenshot_14.png” data-rel="lightbox-image-0” data-rl_title=”” data-rl_caption=”” title="“>

  1. Agora vamos executar e ver o funcionamento. Execute o projeto e mude o endereço para “http://localhost:xxxx/api/me”, você verá uma mensagem informando que a autorização foi negada:

<a href="https://i0.wp.com/www.leonardohofling.com/blog/wp-content/uploads/2015/08/Screenshot_15.png” data-rel="lightbox-image-1” data-rl_title=”” data-rl_caption=”” title="“>

 

  1. Para autorizar vamos enviar uma solicitação para o /Token, para isso vou utilizar o aplicativo “Postman”, disponível para instalar no chrome:

https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop</a>

  1. Crie uma requisição post para “http://localhost:xxxx/Token”

Adicione o Header:

Adicione body(raw):

  1. Agora com um Token em mãos, conseguiremos acessar o “http://localhost:xxx/api/me”. Crie uma requisição para este endereço, do tipo GET e adicione o Header:

Pronto, nossa autenticação já está funcionando via OAuth.

Espero ter ajudado, qualquer dúvida estou a disposição!

Código fonte:

https://github.com/leonardohof/WebApiTest</a>

Fontes:

http://aspnetguru.com/adding-authentication-to-asp-net-web-api/</a>