成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

通用社區(qū)登陸組件技術分享中篇:OAuth登陸組件流程

開發(fā) 項目管理
本文主要講解了第三方社區(qū)賬號登陸的授權流程,OAuth2 組件的下載及web.config配置以及OAuth2 組件的5行代碼編寫流程。詳細請看下文

上節(jié)內(nèi)容:通用社區(qū)登陸組件技術分享(開源)上篇:OAuth 授權登陸介紹

本節(jié)包括以下內(nèi)容: 

  1. 第三方社區(qū)賬號登陸的授權流程  
  2. OAuth2 組件的下載及web.config配置  
  3. OAuth2 組件的5行代碼編寫流程  
  4. 總結與下節(jié)內(nèi)容預告 

一: 第三方社區(qū)賬號登陸的授權流程

1:首先從這里開始:用戶進入登陸界面

 

2:用戶點擊用新浪微博或QQ登陸,系統(tǒng)跳到第三方授權頁面,(QQ示例授權界面)


 

3:確定授權后,第三方跳轉(zhuǎn)返回你的回調(diào)頁(在應用里設置),通常仍是系統(tǒng)登陸頁面統(tǒng)一處理。授權用戶綁定您網(wǎng)站的賬號。

 

我們首次引導登陸并綁定賬號,當然,官方建議的比較好的用戶體驗的界面是這樣的:

connect_UI_5.png  

4:用戶正常登陸或注冊新賬號,自動實現(xiàn)綁定,至此流程結束,下一次用戶點用第三方賬號登陸時,系統(tǒng)檢測到已綁定賬號,直接用綁定的賬號進入后臺。

二:OAuth2 組件的下載及web.config配置 

1:下載OAuth2.dll組件,下載:[[102345]] OAuth2.rar(download times)

2:引用該dll到您的網(wǎng)站項目中;

3:在web.config配置您的appkey、appsercet及回調(diào)網(wǎng)址(通常是登陸頁面),相關的數(shù)據(jù)填寫到web.config對應key的value里。

PS:獲取或調(diào)置回調(diào)網(wǎng)址是在新浪和QQ開放者平臺操作的,相關網(wǎng)址見上節(jié)文章。

 

接下來,我們要在登陸界面(示如Login.aspx)動點小手術: 

三:OAuth2 組件的5行代碼編寫流程

  1. OAuth2.UI.GetHtml() //獲取界面顯示 

代碼示例:通常我們可能會在Login.aspx的html里寫上這么一行代碼來顯示: <%=OAuth2.UI.GetHtml()%>

當然我們也經(jīng)常喜歡在Login.aspx.cs后臺代碼(通常是Page_Load事件)里輸出:div控件ID.InnerHtml=OAuth2.UI.GetHtml(); 

于是就有了剛才的登陸界面下面那兩個第三方授權鏈接圖標:

 

用戶點擊第三方授權,跳到第三方授權頁面,操作完回調(diào)還會返回到這個登陸界面,只是多了兩個參數(shù)code=xxxx&state=xxx(回調(diào)頁面仍設置登陸頁)。

  1. OAuth2.OAuth2Base ob = OAuth2.OAuth2Factory.Current;//獲取當前的授權類型,如果成功,則緩存到Session中。   
  2. ob.Authorize(out account)//檢測是否授權成功,并返回綁定的賬號。 

這兩行代碼,是寫在Page_Load事件中,判斷如果是跳轉(zhuǎn)回來的,就分析授權,然后進行分支處理:

以下是示例的分支代碼:

  1. OAuth2.OAuth2Base ob = OAuth2.OAuth2Factory.Current;//獲取當前的授權類型  
  2. if (ob != null//說明用戶點擊了授權,并返回到登陸界面來  
  3. {  
  4.     string account = string.Empty;  
  5.     if (ob.Authorize(out account))//檢測是否授權成功,并返回綁定的賬號(具體是綁定ID還是用戶名,你的選擇)  
  6.     {    
  7.       if (!string.IsNullOrEmpty(account))//已綁定賬號,直接用該賬號設置登陸。  
  8.       {  
  9.           //根據(jù)賬號,設置登陸、設置cookie,跳轉(zhuǎn)到后臺管理界面。  
  10.       }  
  11.       else // 未綁定賬號,引導提示用戶綁定賬號。  
  12.       {  
  13.            //取用戶的第三方頭像和昵稱,組裝界面顯示,像秋色園就一行提示文字             
  14.       }  
  15. }  
  16. else // 讀取授權失敗。  
  17. {  
  18.      //提示用戶重試,或改用其它社區(qū)方法登陸。  
  19.  

如果用戶已經(jīng)授權,首次未綁定賬號,通常就有了最下方的提示文字,同時“登陸”的文字就改成了“綁定賬號":

  

4:OAuth2.OAuth2Base ob = OAuth2.OAuth2Factory.SessionOAuth;//獲取存在Session的授權

5:ob.SetBindAccount(userName);//綁定賬號

這兩行代碼,寫在BtnLogin和BtnRegister按鈕的事件中,當用戶登陸,或注冊新賬號時,我們從Session中獲取剛剛的社區(qū)授權,然后綁定賬號:

  1. //用戶登陸,或注冊完賬號(這時我們可以拿到ID或者username,綁定哪個就看使用哪個方便了,我們添加以下三行代碼,  
  2. OAuth2.OAuth2Base ob = OAuth2.OAuth2Factory.SessionOAuth;//獲取剛剛的授權(授權后存在Session中)  
  3. if (ob != null && !string.IsNullOrEmpty(ob.openID))  
  4. {  
  5.    ob.SetBindAccount(userName);//綁定賬號username或id都可以  
  6. } 

到這里,整個應用就完成了,就是這么簡單,除配置項,組件提供的關鍵的代碼只有5行,卻實現(xiàn)了相關的功能。

四:總結與下節(jié)內(nèi)容預告

 

A:看完本文,您應該可以獲取到以下信息:

  1. 知道OAuth授權的界面流程  
  2. 知道怎么實現(xiàn)這個授權流程。 

 

B:如果您認真看完本節(jié),或自己實操下,您可能有以下問題想問:

  1. 和網(wǎng)站綁定授權,沒看到相關的數(shù)據(jù)庫操作,那獲取的token和openid存在哪?  
  2. 如何修改界面,或自定義UI界面?  
  3. 有沒有源碼? 

也許,下面這句話給了您答案:下節(jié),將開放源碼下載并嘗試為您講解源碼中的組件設計思路,敬請關注。

51cto大賽的參賽頁面,感謝路過的朋友也順手扔一票:http://blog.51cto.com/contest2012/2127378

原文鏈接:http://www.cnblogs.com/cyq1162/archive/2012/11/06/2756247.html

責任編輯:林師授 來源: 博客園
相關推薦

2012-11-07 10:01:52

組件技術OAuth授權登陸

2022-06-01 22:35:25

滑桿組件鴻蒙

2011-04-28 10:41:12

simpleframeSimple

2010-01-27 09:08:43

Windows 7瘦身

2010-07-22 17:14:37

2011-07-20 09:27:37

Scala

2009-01-12 17:34:11

服務器虛擬化VMware

2009-07-16 15:14:27

WebWork用戶登陸

2009-11-25 17:31:15

Visual Stud

2010-04-21 17:20:03

Unix遠程

2011-03-08 13:52:25

Proftpd

2022-07-29 14:36:43

SUSE開源Linux

2021-08-28 18:29:46

微軟Windows 11Windows

2015-06-03 18:53:44

ANSYS 中國技術大

2011-02-25 17:07:25

2012-02-14 10:46:15

WP Marketpl雜志月刊

2010-08-18 08:21:49

Adobe AIRAndroid

2009-12-15 17:28:58

戴爾互聯(lián)課堂

2009-02-18 22:19:24

AD用戶登陸實現(xiàn)限制

2021-11-24 22:31:07

Windows 11Windows微軟
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 老妇激情毛片免费 | 亚洲一区二区在线视频 | 超碰免费在线观看 | 男女网站免费观看 | 免费一区二区三区 | 久久久久无码国产精品一区 | 日日夜夜精品视频 | 久久91av | 人人做人人澡人人爽欧美 | 日韩亚洲一区二区 | 夜夜操天天操 | 在线国产精品一区 | 国产成人免费 | 麻豆av网站 | 羞羞视频网站免费观看 | 国产精品久久久久久久免费观看 | 97avcc| 色橹橹欧美在线观看视频高清 | 久久精品小视频 | 香蕉视频久久久 | 婷婷五月色综合香五月 | 丝袜 亚洲 欧美 日韩 综合 | 日韩欧美操 | 99re | 高清免费在线 | 中文字幕 在线观看 | 欧美精品网站 | 欧美日韩一区在线 | 国产成人久久精品一区二区三区 | 久久免费国产视频 | 精品国产伦一区二区三区观看体验 | 亚洲欧美日韩国产综合 | 久久国产综合 | 一区视频在线免费观看 | 欧美一区二区在线 | 亚洲视频免费在线观看 | 秋霞影院一区二区 | 国产在线精品一区二区三区 | 看真人视频一级毛片 | 一级黄a视频 | 国产成人精品一区二区三区在线 |