---------------------------目錄----------------------------------html
QQ登陸整合/oauth2.0認證-01-申請appkey和appidweb
---------------------------正文----------------------------------安全
在上一講裏面,主要是 要讀者們 先準備一個 appid 和appkey,準備這個 可能須要一段時間審覈,公司類型的可能稍微慢一點
其實 關鍵是 你能有一個能夠綁定上域名的空間,也就是你的網站須要能運行,是經過域名訪問的網站,國內服務器可能須要備案,服務器
國外就不須要,騰訊在審覈的時候會有工做人員登陸你的訪問,進行審查,審查經過了,才能使用
至於騰訊是否審覈經過 這個不用擔憂的
那麼 這一集就假定你已經 申請過了 appid 和appkey
這一集 咱們來操做第一步app
注:整合方式能夠不按我下面的方式來,下面只是講一種簡單的例子而已
首先 咱們建立一個 aspx頁面 放置一個按鈕 我這裏是使用的是 webform.aspx
在aspx頁面 添加一個按鈕dom
<asp:Button ID="ButtonQQLogin" runat="server" Text="Button" onclick="ButtonQQLogin_Click" />
而後添加click事件 在事件裏面 咱們進行跳轉到QQ登錄頁面 這裏有一些地方要注意的post
//按鈕事件 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頁面 因此 在該頁面裏面咱們能夠進行 下一步的處理這集就先講到這裏....