OAuthLogin2.0介紹地址:
入門地址:http://www.cnblogs.com/dazhuangtage/p/6306133.html
Nuget地址:https://www.nuget.org/packages/OAuthLogin2.0/
關於上篇文章園友評論的幾個問題說明:
1:為什么內置了那么多沒用的平台?
答:內置的那些平台均是上個電商項目所用到的平台,昨天在做一個項目的時候,需要用到QQ登錄,我就拿這個項目擴展了下。后來覺得應該能幫助其他人,然后就放出來了。
2:開源地址呢?????
答:往后面看。。。。。
我不覺得我是一個文筆很好的人,所以我更喜歡上圖,下面我放上架構圖,大家看圖應該更容易理解:
平台命名機制:

平台和應用之間的關系:

用戶授權過程:

授權回調過程:

異常處理機制:

MVC使用教程:
public ActionResult Auth(string etpname) { var etp = EtpName.FromString(etpname); var plateFrom = Platform.Find(etp); if (plateFrom == null) return Content("不支持的第三方登錄平台!"); return Redirect(plateFrom.Applications[0].GenerateAuthorizationUrl(etpname)); }
回調方法:
public async Task<ActionResult> AuthCallBack() { var state = Request.QueryString["state"]; var etp = EtpName.FromString(state); var plateFrom = Platform.Find(etp); if (plateFrom == null) return Content("回調參數錯誤!"); var tokent = await plateFrom.Applications[0].GetTokenAsync(System.Web.HttpContext.Current.Request); if (string.IsNullOrEmpty(tokent.OpenId)) { return Content("獲取用戶信息失敗!"); } return Content("獲取用戶信息成功!" + tokent.ToString()); }
開源地址:https://github.com/dazhuangtage/OAuthLogin2.0
還有一個OAuthManager框架,用來管理授權信息的,不知道對大家有沒有用。。。反正目前我正在用。。。。OAuthManager框架參考了Ef的DbContent架構。。大家覺得有用,就點個贊吧。。。
