Neste artigo mostraremos como construir uma aplicação web utilizando ASP.NET MVC 5 que irá permitir aos usuários realizarem seus acessos a nossa aplicação usando OAuth 2.0 com credenciais de alguns provedores de autenticação externos, como será o caso das contas que utilizaremos em nosso trabalho, que serão referentes as contas do Facebook, GitHub, LinkedIn e do próprio Google.
Ao habilitarmos essas credenciais em nossos sites, fornecemos uma vantagem significativa porque milhares de usuários já possuem contas com esses fornecedores externos. Esses usuários podem ser mais inclinados a se inscrever para o seu site se eles não tiverem que criar e lembrar de um novo conjunto de credenciais para acesso. Ainda veremos como adicionar dados de perfil para o usuário, e como usar a API Membership para adicionar funções.
O que é OAuth?
Antes de discutirmos qualquer outra coisa, vamos primeiramente entender o que é o OAuth. Vejamos o seguinte cenário, temos então aqui um usuário que possui informações armazenada no servidor e então, temos uma aplicação “terceirizada” que gostaria de acessar estas informações. Este é um cenário que podemos ter encontrado muitas vezes em nossas caminhadas pela web. Vamos dizer então que temos algumas fotos bem legais no Flickr que queremos compartilhar com os nossos amigos do Facebook (duas fontes diferentes). Vamos para o Facebook que nos redireciona para o Flickr, onde passamos os nossos dados de autenticação e pronto! A grande questão aqui, é que não precisamos compartilhar nossos detalhes do Flickr com Facebook. Este é um exemplo simples de autorização OAuth. Vejamos por um outro ângulo o que apresentamos até o momento, de acordo com a Figura 1.

Figura 1. Análise do processo de autenticação.
Na primeira etapa, temos o login do cliente à sua conta do Facebook, fornecendo um login e senha de usuário. Se o usuário quer compartilhar suas imagens do Flickr com a sua conta do Facebook, ele seleciona a opção apropriada no Facebook. Daí, o Facebook o redireciona para o Flickr, onde ele fornece suas credenciais. Uma vez que o usuário estiver conectado à sua conta do Flickr, ele pode optar por compartilhar suas imagens do Flickr com a sua conta do Facebook.
Portanto, como podemos ver, aqui temos dois tipos de autenticação sendo envolvidos, ao invés do processo de autenticação normal. Assim, podemos definir formalmente o OAuth como sendo um protocolo que permite aos usuários finais dar acesso a aplicativos de terceiros para acessar seus recursos armazenados em um determinado servidor.
Desta forma, podemos recuperar informações da nossa conta do Facebook, para que possamos usá-las em nossas aplicações. Nós podemos usar essas informações para fins diferentes, como a criação de experiências personalizadas para cada usuário de acordo com suas preferências pessoais. O OAuth 2.0 é a versão mais recente do OAuth e não é compatível com o OAuth 1.0. Diferentes provedores usam diferentes versões do OAuth. Por exemplo, o Facebook e o Twitter usam o OAuth 2.0. Nos nossos exemplos, estaremos trabalhando com o OAuth 2.0.
Vantagens de utilização do OAuth?
Ao darmos acesso aos recursos da aplicação através de acessos através de aplicações de terceiros, temos uma vantagem junto ao usuário final, pois ele pode facilmente compartilhar seus recursos já existentes com outro aplicativo em vez de duplicar os recursos em um novo site. Hoje a maioria dos usuários de internet têm várias contas com diferentes sites, como o Google, Microsoft, Facebook, etc. Imaginem a situação quando o pobre usuário é convidado a registar-se novamente em outro site. Temos certeza que vocês já tiveram essa sensação na pele, sabemos quanto tempo isso pode nos consumir.
Usando OAuth, o aplicativo pode permitir que o usuário faça o login usando suas credenciais ex ...
Desbloqueie toda a DevMedia
-
+2000 artigos e vídeos
-
+40 trilhas sobre Front-end, Back-end, IA e muito mais
-
+5000 exercícios práticos
-
Mentorias ao vivo individuais