網站 asp.net c# 接入QQ第三方登入的方法
網站 asp.net c# 接入QQ第三方登入的方法
1、在qq互聯註冊網站,提交資料 https://connect.qq.com
2、提交網站接入申請,等待幾個工作日後通過稽核,獲得對應的appid與appkey
3、下一步就是使用id和key進行網站的接入開發,開發完成後,提交稽核通過即可
4、網站接入開發簡單整理,首先引入授權js檔案,放到需要實現qq登入的頁面
<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" data-appid="網站應用id" data-redirecturi="http://www.80iter.com" charset="utf-8"></script>
5、網站的接入程式碼方式可以參照官方api文件 http://wiki.connect.qq.com/oauth2-0%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3
6、本站基於asp.net 開發,js程式碼如下:
function QQLogin(typeid) { //typeid 1使用者後臺qq繫結 2使用者qq登入 if (QC.Login.check()) { QC.Login.signOut(); } var NickName = ""; var OpenId = ""; var AccessToken = ""; QC.Login.showPopup(); QC.Login.getMe(function (openId, accessToken) { OpenId = openId; AccessToken = accessToken; }); var paras = {}; QC.api("get_user_info", paras).success(function (s) { NickName = s.data.nickname; $.ajax({ url: "/qqlogin", dataType: "json", type: "get", data: "OpenId=" + OpenId + "&NickName=" + NickName + "&AccessToken=" + AccessToken + "&typeid=" + typeid + "&returnUrl=" + window.location.href, error: function (XmlHttpRequest, textStatus, errorThrown) { alert("qq login error...")}, success: function (d) { if (d.result == "1") { if (typeid == "1") { window.location = d.returnval; } else { //登入成功 window.location = d.returnval; } } if (d.result == "0") { //獲取失敗 QC.Login.signOut(); window.location = d.returnval; } } }); }); }c#程式碼如下,僅供參考:
Get["/qqlogin"] = parameters => { string OpenId = ObjectHelper.Get("OpenId"); string NickName = ObjectHelper.Get("NickName"); string AccessToken = ObjectHelper.Get("AccessToken"); string typeid = ObjectHelper.Get("typeid"); string returnUrl = string.IsNullOrEmpty(ObjectHelper.Get("returnUrl")) ? "/" : ObjectHelper.Get("returnUrl"); if (typeid == "1") { //使用者自主繫結qq if (Page.HasLogin) { //繫結關係 return JSONHelper.JsonResult(1, "/user/userSettingBind"); } else { return Response.AsRedirect("/invalid"); } } if (typeid == "2") { //使用者點選登入 Model.SysUser model = bllSysUser.GetLoginUserInfoByQQOpenId(OpenId); if (model != null) { //模擬登入 } else { //沒有賬號繫結過 return ObjectHelper.JsonResult(0, "/resigerqq?OpenId=" + OpenId + "&NickName=" + NickName + "&AccessToken=" + AccessToken); } } return ObjectHelper.JsonResult(1, returnUrl); };7、另外本站使用的是自定義圖示和a標籤的方式開啟qq登入,還有官方另外一種js寫法:
這種js方式是使用系統自帶按鈕登入,但是這樣會彈出新視窗,不喜歡 //呼叫QC.Login方法,指定btnId引數將按鈕繫結在容器節點中 QC.Login({ //btnId:插入按鈕的節點id,必選 btnId:"qqLoginBtn", //使用者需要確認的scope授權項,可選,預設all scope:"all", //按鈕尺寸,可用值[A_XL| A_L| A_M| A_S| B_M| B_S| C_S],可選,預設B_S size: "B_M" }, function(reqData, opts){//登入成功 console.log(reqData, opts); }, function(opts){//登出成功 alert('QQ登入 登出成功'); });
8、這樣就實現了qq登入
由龐順龍最後編輯於:3年前
內容均為作者獨立觀點,不代表八零IT人立場,如涉及侵權,請及時告知。
相關文章
- 社會化登入分享-QQ SDK接入
- php使用第三方QQ登入PHP
- 關於QQ第三方登入的坑
- 【網頁登入】QQ 登入、微信登入、微博登入、GitHub 登入網頁Github
- Java實現QQ第三方登入Java
- qq第三方登入js_sdkJS
- 第三方網站整合釘釘登入網站
- iOS因QQ第三方登入被拒iOS
- qq第三方登入所需appidAPP
- laravel實現第三方qq一鍵登入Laravel
- QQ第三方登入認證流程(乾貨)
- 封裝QQ、微信、微博的第三方登入和分享封裝
- JAVA接入支付寶授權第三方登入Java
- 網站入門必備!5種方法幫你提高網站的登入體驗網站
- 簡單實現第三方qq登入和分享
- 蘋果稽核被拒——第三方QQ登入的五種情形蘋果
- ios 上qq以及微信上面第三方庫的登入iOS
- 友盟第三方登入精簡版QQ遇到的坑
- 手機端QQ登入openid與網站端QQ登入openid不一樣網站
- C#開發——網站應用微信登入開發C#網站
- QQ互聯API介面失效,第三方網站的死穴API網站
- c# 模擬網站登陸C#網站
- QQ第三方登入例項demo(QQSDK包優化)優化
- 網站登入JWT的實現網站JWT
- 網站的無密碼登入網站密碼
- 第三方賬號登入功能接入全流程分析(轉)
- 使用第三方APPKey授權 跳轉登入 QQAPP
- 模板方法模式,從網站登入開始說起模式網站
- [API 寫法] QQ 登入、微信登入、Facebook、google、蘋果登入APIGo蘋果
- Java QQ授權第三方登陸Java
- .netcore第三方登入授權:10分鐘急速接入NetCore
- 從QQ登入方式想到的QQ密碼保護密碼
- 如何在自己的網站上實現QQ授權登入?網站
- 第三方登入 (微博登入 web)Web
- Android-使用Android Studio實現第三方QQ登入Android
- Asp.net中防止使用者多次登入的方法ASP.NET
- 如何用java程式登入網站Java網站
- 如何用python登入qqPython