实例效果图:
登陆代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net;
using System.IO;
using MultiOAuth.Core;
using MultiOAuth.Core.Service;
using MultiOAuth.Core.Client;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
var context = MultiOAuthContext.Create(MultiOAuthFactroy.CreateClient<GoogleClinet>("Google"));
try
{
context.BeginAuth();
}
catch (Exception)
{
throw;
}
}
protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
{
var context = MultiOAuthContext.Create(MultiOAuthFactroy.CreateClient<FacebookClient>("Facebook"));
try
{
context.BeginAuth();
}
catch (Exception)
{
throw;
}
}
protected void ImageButton3_Click(object sender, ImageClickEventArgs e)
{
var context = MultiOAuthContext.Create(MultiOAuthFactroy.CreateClient<WindowsLiveClient>(
"",
"",
"",
"wl.basic,wl.emails",
"~/Accepted.aspx",
"~/Default.aspx"
));
try
{
context.BeginAuth();
}
catch (Exception)
{
throw;
}
}
protected void btnLogin_Click(object sender, EventArgs e)
{
string loginId = txtLoginID.Text.Trim();
string passowrd = txtPassword.Text.Trim();
SecurityDao dao = new SecurityDao();
string uid = dao.QueryAccountUID(loginId, passowrd);
if (uid != "")
{
Response.Redirect(string.Format("Success.aspx?UID={0}", uid));
}
else {
Response.Write("查無該帳號。");
}
}
}
返回代码:
protected void Page_Load(object sender, EventArgs e)
{
string token = MultiOAuthContext.Current.Token;
if (token != "")
{
var profile = MultiOAuthContext.Current.Profile;
string id = profile["id"].ToString();
string source = profile["source"].ToString();
string name = profile["name"].ToString();
SecurityDao dao = new SecurityDao();
switch (source) {
case "Google":
id = "gl_" id;
break;
case "Facebook":
id = "fb_" id;
break;
case "WindowsLive":
id = "wl" id;
break;
}
if (dao.QueryAccountIsExist(id))
{
Response.Redirect(string.Format("Success.aspx?UID={0}", id));
}
else
{
dao.InsertAccount(id, name, source);
Response.Redirect(string.Format("Success.aspx?UID={0}", id));
}
}
else
{
Response.Redirect("failed.aspx");
}
}
资源文件列表
MultiOAuth/MultiOAuth.Core/bin/Debug/MultiOAuth.Core.dll , 27648
MultiOAuth/MultiOAuth.Core/bin/Debug/MultiOAuth.Core.pdb , 62976
MultiOAuth/MultiOAuth.Core/bin/Debug/Newtonsoft.Json.dll , 378368
MultiOAuth/MultiOAuth.Core/Client/FacebookClient.cs , 1905
MultiOAuth/MultiOAuth.Core/Client/GoogleClinet.cs , 1945
MultiOAuth/MultiOAuth.Core/Client/WindowsLiveClient.cs , 2114
MultiOAuth/MultiOAuth.Core/Configuration/OAuthConfigurationElement.cs , 1365
MultiOAuth/MultiOAuth.Core/Configuration/OAuthConfigurationElementCollection.cs , 821
MultiOAuth/MultiOAuth.Core/Configuration/OAuthConfigurationSection.cs , 1059
MultiOAuth/MultiOAuth.Core/Configuration/OAuthWebConfigurationElement.cs , 841
MultiOAuth/MultiOAuth.Core/Infacter/IClientProvider.cs , 810
MultiOAuth/MultiOAuth.Core/Infacter/IClientService.cs , 575
MultiOAuth/MultiOAuth.Core/Infacter/IMultiOAuthProvider.cs , 422
MultiOAuth/MultiOAuth.Core/MultiOAuth.Core.csproj , 3517
MultiOAuth/MultiOAuth.Core/MultiOAuthContext.cs , 7297
MultiOAuth/MultiOAuth.Core/MultiOAuthFactroy.cs , 4358
MultiOAuth/MultiOAuth.Core/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache , 5998
MultiOAuth/MultiOAuth.Core/obj/Debug/MultiOAuth.Core.csproj.FileListAbsolute.txt , 426
MultiOAuth/MultiOAuth.Core/obj/Debug/MultiOAuth.Core.dll , 27648
MultiOAuth/MultiOAuth.Core/obj/Debug/MultiOAuth.Core.pdb , 62976
MultiOAuth/MultiOAuth.Core/obj/Debug/ResolveAssemblyReference.cache , 7338
MultiOAuth/MultiOAuth.Core/Properties/AssemblyInfo.cs , 1378
MultiOAuth/MultiOAuth.Core/Service/FacebookService.cs , 4823
MultiOAuth/MultiOAuth.Core/Service/GoogleService.cs , 4914
MultiOAuth/MultiOAuth.Core/Service/OAuthServiceBase.cs , 610
MultiOAuth/MultiOAuth.Core/Service/WindowsLiveService.cs , 4767
MultiOAuth/MultiOAuth.sln , 2284
MultiOAuth/MultiOAuth.sln.docstates.suo , 4102
MultiOAuth/MultiOAuth.suo , 40448
MultiOAuth/Web/Accepted.aspx , 436
MultiOAuth/Web/Accepted.aspx.cs , 1451
MultiOAuth/Web/App_Code/SecurityDao.cs , 3764
MultiOAuth/Web/App_Data/AccountDB.mdf , 2293760
MultiOAuth/Web/App_Data/AccountDB_log.LDF , 573440
MultiOAuth/Web/Bin/MultiOAuth.Core.dll , 27648
MultiOAuth/Web/Bin/MultiOAuth.Core.pdb , 62976
MultiOAuth/Web/Bin/Newtonsoft.Json.dll , 378368
MultiOAuth/Web/Bin/Newtonsoft.Json.dll.refresh , 244
MultiOAuth/Web/Bin/Newtonsoft.Json.xml , 423114
MultiOAuth/Web/Default.aspx , 1740
MultiOAuth/Web/Default.aspx.cs , 2142
MultiOAuth/Web/failed.aspx , 608
MultiOAuth/Web/failed.aspx.cs , 278
MultiOAuth/Web/images/fb.png , 8747
MultiOAuth/Web/images/gl.png , 8506
MultiOAuth/Web/images/msn.png , 7336
MultiOAuth/Web/packages.config , 142
MultiOAuth/Web/Success.aspx , 843
MultiOAuth/Web/Success.aspx.cs , 875
MultiOAuth/Web/web.config , 1765
