---------------------------目錄----------------------------------
QQ登錄整合/oauth2.0認證-01-申請appkey和appid
---------------------------正文----------------------------------
在上一講里面,主要是 要讀者們 先准備一個 appid 和appkey,准備這個 可能需要一段時間審核,公司類型的可能稍微慢一點
其實 關鍵是 你能有一個可以綁定上域名的空間,也就是你的網站需要能運行,是通過域名訪問的網站,國內服務器可能需要備案,
國外就不需要,騰訊在審核的時候會有工作人員登錄你的訪問,進行審查,審查通過了,才能使用
至於騰訊是否審核通過 這個不用擔心的
那么 這一集就假定你已經 申請過了 appid 和appkey
這一集 我們來操作第一步
注:整合方式可以不按我下面的方式來,下面只是講一種簡單的例子而已
首先 我們創建一個 aspx頁面 放置一個按鈕 我這里是使用的是 webform.aspx
在aspx頁面 添加一個按鈕
<asp:Button ID="ButtonQQLogin" runat="server" Text="Button" onclick="ButtonQQLogin_Click" />
然后添加click事件 在事件里面 我們進行跳轉到QQ登陸頁面 這里有一些地方要注意的
//按鈕事件 protected void ButtonQQLogin_Click(object sender, EventArgs e) { string salt = string.Empty; string url = GetAuthCodeUrl("",out salt); Response.Redirect(url); } //組裝跳轉地址 注意 callback 可以從外面傳進來 當然 你可以寫到配置文件里面 我這里為了主要是方便測試 所以寫死了 public string GetAuthCodeUrl(string callback, out string state) { state = Common.RandomText.String(16);//隨機數 callback = System.Web.HttpUtility.UrlEncode("http://www.bamn.cn:8089/CallBackHandler.aspx", Encoding.UTF8); string url = string.Format("https://graph.qq.com/oauth2.0/authorize?client_id={0}&response_type=code&redirect_uri={1}&state={2}","你的appid", callback, state); return url; }
http://www.bamn.cn:8089/CallBackHandler.aspx 是回執處理地址
組裝跳轉地址 注意 callback 可以從外面傳進來 當然 你可以寫到配置文件里面 我這里為了主要是方便測試 所以寫死了
callback 就是登陸成功后跳轉的頁面 注意前面的域名 必須是你申請appid時候 填寫的域名下的地址 其他域名是不行的
還有要進行 UrlEncode 編碼
state的作用
state是你本地cs里面生成一個隨機代碼 會隨着地址 帶到QQ登陸頁面 QQ的oauth登陸成功后 會返回來 主要是安全原因 方便你 取得QQ服務器返回來的數據時候 進行對比 以免被木馬修改了
那么 通過Response.Redirect(url); 頁面會跳轉到 QQ互聯登陸頁面
這一步 我們實現了跳轉到QQ互聯頁面
下一步 我們來處理登陸成功后返回來的時候我們的回執處理頁面進行處理 由於我們在GetAuthCodeUrl方法里設置了跳轉地址,所以成功認證后會跳轉CallBackHandler.aspx頁面
所以 在該頁面里面我們可以進行 下一步的處理
這集就先講到這里....