QQ受權登陸

  • AppID:你的應用(網站)的ID。
  • AppKey:對你的應用的驗證。
  • Redirect_uri:用戶確認受權後的回調地址。(需本身設置,有防止別人盜用你的身份獲取受權用戶信息的做用)
  • OpenID:用戶身份的惟一標識。建議保存在本地並與本地建立的uid綁定,以便用戶下次登陸時可對應到其以前的身份信息,不須要從新受權,使用戶體驗一致。(獲取不到用戶的QQ號)
  • AccessToken:表示當前用戶在此網站/應用的登陸狀態與受權信息,建議保存在本地。(至關於token,令牌)
  • Scope:你要獲取的信息。
  1. 準備javascript

    註冊QQ互聯開發者身份java

    須要去騰訊QQ互聯註冊:https://connect.qq.com/。api

    準備好網站cookie

    網站要基本開發完成。網站域名,Logo等都有。app

    建立應用post

    在QQ互聯管理中心建立應用。測試

  2. 部署測試網站

    添加登陸入口ui

    在登陸頁面<head></head>中引入:spa

  • <script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" 
    data-appid="APPID" 
    data-redirecturi="REDIRECTURI" 
    charset="utf-8">
    </script>

    官方提供的登陸按鈕代碼,可直接將代碼貼到你想要放置入口的位置就行:

  • <span id="qqLoginBtn"></span>
    <script type="text/javascript">
        QC.Login({
           btnId:"qqLoginBtn"    //插入按鈕的節點id
    });</script>

    3.回調頁面

  •  和登陸入口同樣
<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" 
data-appid="APPID" 
data-redirecturi="REDIRECTURI" 
charset="utf-8">
</script>
  • 設置回調頁面
  • <script type="text/javascript">
                function getInfo() {
                    if(QC.Login.check()){
                        QC.api("get_user_info")
                            .success(function(s){//成功回調
                                QC.Login.getMe(function(openId, accessToken){
                                    $.post('/你的後臺處理Action',{name:s.data.nickname,openid:openId,otype:1,token:accessToken},function(data,status){
                                        if(status=="success"){
                                            alert(s.data.nickname+"恭喜你,登陸成功!");
                                            location.href = "/";
                                        }else{
                                            alert("獲取用戶信息成功!登陸失敗!");
                                            location.href = "/blog/to/login";
                                        }
                                    })
                                })
                            })
                            .error(function(f){//失敗回調
                                alert("獲取用戶信息失敗!登陸失敗!");
                                location.href = "/blog/to/login";
                            })
                            .complete(function(c){//完成請求回調
                            //alert("獲取用戶信息完成!");
                            });
                    }else{
                        alert("請登陸!");
                        location.href = "/blog/to/login";
                    }
                }
    </script>

    4.後臺處理步驟:

  • - //判斷openid是否存在。
    
    - // 若是openid存在,則說明此用戶以前登陸過或者已與本地user表中的用戶綁定。寫入cookie,使用戶爲登陸狀態,到此結束。
    
    - //若是用戶openid不存在,則判斷用戶名是否存在。
    
    - //若是用戶名不存在,則直接生成新的本地用戶,並綁定uid與openid。寫入cookie,使用戶爲登陸狀態,到此結束。
    
    - //若是用戶名存在,提醒用戶是否驗證並與之綁定。若是用戶選擇驗證,並驗證經過,則與之綁定。寫入cookie,使用戶爲登陸狀態,到此結束。
    
    - //若是用戶放棄驗證,或者驗證失敗,則生成新的本地用戶,並生成新的用戶名,綁定uid與openid。寫入cookie,使用戶爲登陸狀態,到此結束。
相關文章
相關標籤/搜索