開源第三方登錄組件OAuthLogin2.0 架構解析及開源地址


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架構。。大家覺得有用,就點個贊吧。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM