ASP
.NET - Usando a autenticação Google OpenID com DotNetOpenAuth
Agora você pode acessar qualquer site que suporte OpenID usando a sua própria Conta do Google.
Neste artigo eu vou mostrar como usar o OpenID para realizar a autenticação em sua aplicação ASP .NET com o DotNetOpenAuth.
Recursos usados:
Criando o projeto no Visual Web Developer
Abra o VWD 2010 Express e crie um novo projeto Web usando a linguagem Visual Basic e template ASP .NET Empty Web Application com o nome: UsandoGoogleOpenID
![]() |
Após fazer o download do DotNetOpenAuth vamos referenciar o arquivo DotNetOpenAuth.dll em nosso projeto.
No menu Project clique em Add Reference e na janela Add Reference selecione a guia Browse e localize o local onde você colocou os arquivos do DotNetOpenAuth selecionando arquivo DotNetOpenAuth.dll;
![]() |
A seguir vamos incluir duas páginas Web Forms no nosso projeto.
No Project -> Add New Item selecione o template Web Form e informe o nome Login.aspx;
![]() |
Repita o procedimento anterior incluindo outra página chamada Main.aspx.
A página Main.aspx será a página para onde o usuário deverá ser direcionado se realizar o login com sucesso. Para o nosso exemplo o seu leiaute é bem simples e pode ser visto abaixo:
![]() |
Vamos agora definir o leiaute e o código da página de login.
Selecione o arquivo Login.aspx e inclua um botão de comando na página (Id=btnLoginGoogle) e um controle Label (Id=lblAlertaMsg).
A seguir defina o seguinte código nesta página:
<form
id="form1" runat="server"> <div id="loginform"> <div id="NotLoggedIn" runat="server"> <h1 class="style2"> <strong>Macoratti.net</strong></h1> <br /> <span class="style3">Log in com :</span> <img alt="Login com Google" src="http://www.google.com/favicon.ico" /> <asp:Button ID="btnLoginGoogle" Runat="server" Text="Google" OnCommand="OpenLogin_Click" CommandArgument="https://www.google.com/accounts/o8/id" /> <p /><asp:Label runat="server" ID="lblAlertaMsg" style="font-family: 'Trebuchet MS'" /> </div> </div> </form>
|
O leiaute da página Login.aspx deverá ser o seguinte:
![]() |
Vamos agora definir no arquivo code-behind Login.aspx.vb o seguinte código:
Imports DotNetOpenAuth.OpenId Imports DotNetOpenAuth.OpenId.RelyingParty Public Class Login Inherits System.Web.UI.Page
Protected Sub
Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles
Me.Load |
Neste código estamos referenciando os namespaces para termos acesso as classes do DotNetOpenAuth:
Imports DotNetOpenAuth.OpenId
Imports DotNetOpenAuth.OpenId.RelyingParty
E no evento load da página definimos o código que irá realizar a autenticação usando o OpenID. Se a autenticação for válida o usuário será redirecionado para a página Main.aspx caso contrário iremos exibir uma mensagem na label lblAlertaMsg.
A página Main.aspx pode conter uma mensagem de boas vindas ou um menu com opções.
Executando o projeto iremos obter:
![]() |
Clicando no botão de Google teremos a seguinte página:
![]() |
Informando o email e senha usados no Google teremos:
![]() |
Observe que fazendo o login com sucesso fomos redirecionados para a página Main.aspx.
Se o login falhar será exibida uma mensagem na Label da página Login.aspx.
Você pode usar este recurso em suas aplicações ASP .NET (dependendo da necessidade) para dessa forma centralizar e terceirizar o gerenciamento da autenticação em suas aplicações poupando tempo e recursos.
Pegue o projeto completo aqui:
UsandoGoogleOpenID.zip
"Em verdade , em verdade vos digo que vem a hora, e agora é, em que os mortos ouvirão a voz do Filho de Deus, e os que a ouvirem viverão."(João-5:25)
Referências: