Cấp bậc tác giả:

DOTNET

Tạo trang đăng nhập sử dụng tài khoản của google (gmail)

Được viết bởi QuangIT ngày 13/08/2012 lúc 07:48 PM
Bạn muốn sử dụng luôn tài khoàn gmail để đăng nhập trong trang của bạn? Trong bài viết này tôi minh họa cho các bạn cách tạo Form đăng nhập bằng tài khoản google sử dụng thư viện DotNetOpenAuth.dll.
  • 0
  • 2723
Tải tệp tin: Click ở đây

Tạo trang đăng nhập sử dụng tài khoản của google (gmail)


Bạn muốn sử dụng luôn tài khoàn gmail để đăng nhập trong trang của bạn? Trong bài viết này tôi minh họa cho các bạn cách tạo Form đăng nhập bằng tài khoản google sử dụng thư viện DotNetOpenAuth.dll.

Giả sử tôi tạo 2 trang aspx là Login.aspx và trang Home.aspx. Trang login sẽ cho phép bạn đang nhập bằng tài khoản Google OpenID, Trang Home.aspx thông báo trạng thái đăng nhập từ trang Login. Để làm được bạn cần có thư viện DotNetOpenAuth.dll (bạn có thể download ở trên) và Add vào thư mục Bin của ứng dụng của bạn
Trong trang Login.aspx bạn kéo thả một Button và một Lable như sau

<img src="http://www.google.com/favicon.ico" /> 
<asp:Button ID="btnLoginToGoogle" 
Runat="server" 
Text="Google Login" 
OnCommand="OpenLogin_Click" 
CommandArgument="https://www.google.com/accounts/o8/id"/>
<asp:Label runat="server" ID="lblMessage" />
Trong code behind bạn viết hàm Page_Load và sự kiện Click cho buttion như sau:

using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.RelyingParty;
...

protected void Page_Load(object sender, EventArgs e)
{
OpenIdRelyingParty OIDRP = new OpenIdRelyingParty();
var str = OIDRP.GetResponse();
if (str != null)
{
switch (str.Status)
{
case AuthenticationStatus.Authenticated:
NotLoggedIn.Visible = false;
Session["GoogleIdentifier"] = str.ClaimedIdentifier.ToString();
// Chuyến trang Home.aspx nếu thành công
Response.Redirect("Home.aspx"); 
break;
case AuthenticationStatus.Canceled:
lblMessage.Text = "Cancelled.";
break;
case AuthenticationStatus.Failed:
lblMessage.Text = "Login Failed.";
break;
}

}
protected void OpenLogin_Click(object src, CommandEventArgs e)
{
string str = e.CommandArgument.ToString();
OpenIdRelyingParty openid = new OpenIdRelyingParty();
var b = new UriBuilder(Request.Url) { Query = "" };
var req = openid.CreateRequest(str, b.Uri, b.Uri);
req.RedirectToProvider();
}
Kết quả minh họa khi chạy trang Login.aspx

Bạn có thể download code của bài viết này

Nguồn bài viết: Dngaz.com

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML