通用社區(qū)登錄組件技術(shù)分享(開源)上篇:OAuth授權(quán)登錄
最初的想法:
最近,想為 秋色園 增加一個:新浪微博登陸:,為此花了點時間研究了新浪微博的API。
由于 微博精靈 系列軟件并沒有使用微博API,所以雖然開了一年多新浪微博應(yīng)用軟件,卻從沒研究相關(guān)的API,所以和OAuth授權(quán)一直沒能擦上邊。
搭汕了OAuth:
不弄不知道,一弄的話,一個概念名詞就出來了:OAuth 2.0。(一種安全的、開放而又簡易的第三方登陸協(xié)議,具體它是什么,我就不解釋了,問Google和360搜索)。
既然是協(xié)議,它就會有一些通用性,幸運的是:除了新浪微博,其它的第三方,也同樣使用了這種協(xié)議。
這樣一來,只要學(xué)會一種,其它我們常見的: ,也是相近的開發(fā)方式。
發(fā)現(xiàn)OAuth的授權(quán)登陸應(yīng)用很常見:
讓我再截一下圖,讓大伙回憶熟悉下一些網(wǎng)站的登陸:
土豆網(wǎng):
秋色園(已集成社區(qū)通用組件登陸,大伙可體驗下):http://www.cyqdata.com/sys/login
美麗說:
從以上圖,我們都可以發(fā)現(xiàn),好多流行的網(wǎng)站,幾乎都有這一塊。
協(xié)議一樣,卻沒有通用的組件:
原先我只想加入新浪微博的,后發(fā)現(xiàn)還有QQ的,還有更多更多。。。。
于是,我停下想了一下,并搜索了下互聯(lián)網(wǎng),沒發(fā)現(xiàn)這類有通用的組件,于是,我構(gòu)思把它寫成一個通用的組件,讓使用者盡可能的簡單。
既然沒有,那我就Do了,并把它Do成了:
經(jīng)過一天一夜的奮戰(zhàn),終于把它完成了,并集成在秋色園里上線了,這么短時間搞成,說明它并不復(fù)雜,但對于新手也不算簡單。
雖然是通用組件,不幸的是,它只適用.NET開發(fā);幸運的是,它讓.NET開發(fā)者(新老手)可以快速集成這種社區(qū)登陸到自己的網(wǎng)站,僅需要幾分鐘的過程代碼編寫。
如果您想集成這種應(yīng)用,您應(yīng)該Doing以下事情:
1:到新浪微博開放平臺,注冊開發(fā)者賬號,并創(chuàng)建一個網(wǎng)站應(yīng)用,得到一個AppKey和AppSecret,到這一步,是不需要審核的。
操作網(wǎng)址:http://open.weibo.com/
2:到騰訊開放平臺,做和新浪開放平臺一樣的事情。
操作網(wǎng)址: http://open.qq.com/
本文總結(jié):(看完本文,你應(yīng)該獲取到以下幾點信息):
1:有個叫OAuth的協(xié)議,它可以集成第三方應(yīng)用登陸。
2:發(fā)現(xiàn)了好多網(wǎng)站都有QQ號碼登陸,還可以用新浪微博賬號登陸,還能用msn,人人網(wǎng)等賬號登陸。
3:原來自己的網(wǎng)站也可以集成這種通用登陸,而且還不費勁。
下一節(jié)可能介紹的內(nèi)容:
1:OAuth 的簡單應(yīng)用流程。
2:組件及源碼下載。
3:組件集成使用教程。
順路貼下組件的源碼截圖:
51cto大賽的參賽頁面,感謝路過的朋友也順手扔一票:http://blog.51cto.com/contest2012/2127378
原文鏈接:http://www.cnblogs.com/cyq1162/archive/2012/11/05/2754355.html