Uma aplicação Web com o processo de autenticação delegado à provedores de terceiros tem grandes chances de se tornar mais popular. Pois os usuários podem com apenas alguns cliques ganhar um usuário na sua aplicação apenas autorizando sua aplicação.

Com ASP.NET MVC 4 habilitar a autenticação com o Facebook ficou muito simples, basta confirguramos o framework WebPages com a nossa aplicação. Vejamos como é simples:

  • Criar aplicação ASP.NET MVC 4

Crie uma aplicação ASP.NET MVC 4 Web Application e depois selecione a opção Internet Application.

image

  • Criar aplicação no Facebook

Acesse a página de Criação de Apps do Facebook e configure de acordo com as opções abaixo:

image

Para o ambiente de desenvolvimento você preenche o App Domain como localhost e o Site URL com a URL gerada pelo IIS Web Express (http://localhost:38967).

  • Configure o framework WebPages para usar a sua App.

Altere a classe AuthConfig que está dentro da pasta App_Start conforme abaixo:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Web.WebPages.OAuth;
using Auth.Models;

namespace Auth
{
    public static class AuthConfig
    {
        public static void RegisterAuth()
        {
            OAuthWebSecurity.RegisterFacebookClient("888888882741599", "888888880e4ddef092589e8f77ccac6b");
        }
    }
}

Observe que os valores passados foram obtidos no site do Facebook. Procure pelos campos App ID/API Key e App Secret no cadastro de sua aplicação. Jamais informe esses dados para terceiros.

  • Testando a aplicação

Clique no botão Facebook.

image

A aplicação irá solicitar que você complete com os seus dados. Repare que ele já puxou o seu nome para o campo.

image

Você está autenticado.

image

  • Onde foram parar essas informações de autenticação?

O framework de autenticação cria o banco de dados usando a string de conexão definida no Web.config. Estas são as tabelas envolvidas:

image

As informações obtidas no cadastro do usuário são guardadas assim:

image

image

  • Conclusão

Estas melhorias e autenticação e autorização embutidas no template do MVC vieram facilitar e ajudar a popularizar nossas aplicações. Espero que você aproveite e crie a próxima app de 1bi.