最近在做一個項目時,客戶要求網站能夠內建QQ登入的功能,以前沒做過這方面的開發,于是去QQ的開放平台官網研究了一下相關資料,經過自己的艱苦探索,終于實作了內建QQ登入的功能,現在把相關的開發經驗總結一下,希望對有這方面需求的朋友有所幫助。
一.前期準備
首先你需要登入QQ的開發平台注冊一個賬号,QQ互聯平台官方位址:
http://connect.qq.com/ 進去後注冊一個開發賬号,完了登入背景會有類似如下的一個背景,填好相關資訊,具體可以參考下圖。最後我們會有一個APP ID和APP KEY ,有了這兩個東西才能實作後面的內建QQ登入功能。二.開發工作
當我們的賬号稽核後,QQ開發平台會給我們一個APP ID和APP KEY,有了這兩個,我們就可以進行開發的工作了。
QQ的登入采用的是OAuth2.0協定,OAuth(開放授權)是一個開放标準,允許使用者授權第三方網站通路他們存儲在另外的服務提供者上的資訊,而不需要将使用者名和密碼提供給第三方網站或分享他們資料的所有内容。具體的内容可以參考QQ的API文檔http://wiki.connect.qq.com/oauth2-0%e7%ae%80%e4%bb%8b
QQ的開發平台已經有PHP,JAVA,JS等版本的SDK了,如果是要用到這些語言進行開發的可以直接參考這些SDK,我這邊直接講一下ASP.NET版本(MVC)的開發。
第一步.先在WebConfig中的 <appSettings>節點下加入如下配置
|
第二步.在Controllers中加一個登陸的Action(我這邊用的是MVC的開發方式,如果是傳統.NET的可以直接在.aspx的Page_Load事件裡加如下方法)
|
這一步主要是實作去QQ平台進行身份驗證,直覺點也就是點選後會去出現如下截圖的畫面
第三步.在點選了上圖的同意登入後(也就是已經使用QQ号在QQ平台登入),QQ平台會通過我們上面配置的回調位址也就是我這邊填的
http://www.mylanqiu.com/Account/WeiboConnect/傳回到這個頁面,并會傳回一個code給我們,我們到時會使用這個code再去QQ開發平台擷取access_token,并通過這個access_token擷取登入的相關使用者資訊。具體代碼如下:
|
通過上面的步驟就可以實作網站內建QQ登入了。下面給出輔助類的源代碼:
|
四.Demo效果
大家可以直接通路
http://www.mylanqiu.com看一下實際的效果,最後感謝大家的閱讀,如對你有所幫助就多多轉發,以幫助更多人,正所謂:贈人玫瑰 手有餘香!如有不足,還請指正!