.NET - Apresentando os conceitos de OWIN e OAuth - I


 Neste artigo vou apresentar os conceitos sobre OWIN e OAuth e mostrar como podemos usar estes recursos na plataforma .NET. As informações foram compiladas de diversos sites da web e apresentadas de forma resumida.

O que é OWIN

O OWIN (Open Web Interface for .Net) é uma solução para generalizar o acesso da aplicação ao hospedeiro. Antes dele existir, para rodar aplicações ASP.Net, era necessário usar o servidor IIS, ou você teria que modificar os próprios componentes da ASP.Net para usar outro host. O IIS era uma dependência, e pior, os componentes que se comunicam com o IIS eram pesados.

Com o objetivo de ter soluções mais abertas era necessário criar uma maneira padrão de comunicação entre a aplicação e o host, permitindo a utilização de outros hosts, inclusive a própria aplicação cuidar disto, e a comunicação pode ser feita de forma mais flexível, leve, personalizada para cada situação.

Implementar uma OWIN Application te livra de ter que usar o IIS como servidor WEB. Assim, o OWIN é uma camada de abstração entre o server e a aplicação, uma especificação de como a comunicação entre eles funciona.

Duas implementações desta especificação mais conhecidas são: Katana que permite o self-host da aplicação, o Helios que permite o uso com o IIS.

O Katana é um projeto de código aberto da Microsoft Open Technologies. É um conjunto de componentes para criar e hospedar aplicativos da Web baseados em OWIN que seguem a especificação OWIN.

Para mais detalhes consulte: http://owin.org/

O que é OAuth

A definição formal para OAuth - Open standard for Auhtorization formal diz:


"OAuth é um padrão aberto para autorização, comumente utilizado para permitir que os usuários da Internet possam fazer logon em sites de terceiros usando suas contas do Google, Facebook, Microsoft, Twitter, etc.—mas, sem expor sua senha"
 

Assim, o OAuth é um padrão, uma especificação de como as aplicações devem se autorizar. Não importa se a aplicação seja para a web, para mobile ou para desktop, desde que ela se comunique da forma padrão especificada e através de protocolo HTTP.

Você pode usar provedores de autorização diversos, fornecido por você de forma isolada, ou, o mais comum, através de terceiros (facebook, twitter, etc.). Assim você não precisa se preocupar com o processo todo, apenas precisa saber se o usuário está autorizado ou não.

Desta forma, dados que precisam estar seguros ficam fora da aplicação e provavelmente na mão de quem sabe mantê-los seguro e possui a confiança do dono da informação. A aplicação só recebe o que for relevante para ela.

Para mais detalhes consulte : https://oauth.net/2/

Assim OWIN e OAuth não são aplicações mas são duas especificações.

Quando você cria uma Web API na plataforma .NET usando o .NET Framework, você deve transformar esta Web API em uma OWIN Application para poder usar os recursos relacionados ao OWIN e OAuth.

Nota:  Todas as aplicações ASP .NET Core são aplicações OWIN por padrão.

Para saber como transformar uma Web API clássica em uma aplicação OWIN veja esta série de artigos sobre o assunto.

Na próxima parte do artigo vamos iniciar com o OWIN mostrando como hospedar uma aplicação OWIN no IIS e como usar o Self-Host Owin em uma aplicação console.

E estamos conversados...

'Disse-lhe Jesus: Não te hei dito que, se creres, verás a glória de Deus? '
João 11:40

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Referências:


José Carlos Macoratti