1. 程式人生 > >【問題解決】Auth 2.0 登入成功回撥方法

【問題解決】Auth 2.0 登入成功回撥方法

絮絮叨

第三方的登入的解決方案通常有兩種方式,一是開啟一個新的標籤頁,然後登入回調回來; 二是通過父視窗開啟一個子窗體去第三方登入,登陸成功時關掉子窗體回到父視窗。

這裡寫圖片描述

問題來了

我的父窗體怎麼樣才知道子窗體被關閉了呢?
查了下 w3c 裡面的文件,貌似並沒有類似 onWindowClose 這樣的回撥函式。

解決方案

將開啟的這個視窗物件賦值給一個 jQuery 物件,在主窗體裡輪詢判斷該物件的狀態

1.開啟第三方登入視窗

var windowObj  = null;
windowObj  = window.open("https://graph.qq.com/oauth/show?which=Login&client_id=1000001&redirect_uri=http://127.0.0.1:3000/login/qq_after_login"
, "q",'width=800,height=500');

2.在子窗體中登入成功時執行關閉自己的方法

self.close();

3.然後在主窗體裡面輪詢執行


var loop = setInterval(function() {     
    if(windowObj  != null && windowObj.closed) {    
        clearInterval(loop);    
        //do something 在這裡執行回撥

    }    
}, 800); 

相關推薦

問題解決Auth 2.0 登入成功方法

絮絮叨 第三方的登入的解決方案通常有兩種方式,一是開啟一個新的標籤頁,然後登入回調回來; 二是通過父視窗開啟一個子窗體去第三方登入,登陸成功時關掉子窗體回到父視窗。 問題來了 我的父窗體怎麼樣才知道子窗體被關閉了呢? 查了下 w3c 裡面的文件,

轉載Django 2.0版本的新特性

2017年12月2日,Django官方釋出了2.0版本,成為多年來的第一次大版本提升,那麼2.0對廣大Django使用者有哪些變化和需要注意的地方呢? 一、Python相容性 Django 2.0支援Python3.4、3.5和3.6。Django官方強烈推薦每個系

解決php實現頁面登入註冊功能並實現跳轉

目錄如下:   思路是不通過資料庫等操作實現頁面(頁面比較簡陋,請笑納) 關於register功能 html頁面必要的表單功能 在頭部寫上 寫上條件判斷 if ($_SERVER['REQUEST_METHOD'] === 'POST') { login();

解決centos6.2 spark cluster問題(持續追加)

系統:centos6.2 節點數目:1個master,16個worker spark版本:0.8.0 核心版本:2.6.32 以下是遇到的問題及解決辦法: 1. 執行完某一個任務後,某個節點無法再次連線,在其上執行jps出現:StandaloneExecutorBa

專欄 - Yii 2.0 框架學習筆記

Yii 2.0 框架學習筆記 介紹 Yii 2.0 框架的安裝、目錄結構,詳細講述 Yii 2.0 的 MVC 模式、元件、資料庫互動、session、cookie、幫助類,以及快取、日誌元件的用法,依賴注入的思想等等。

C#呼叫2.0的坑

1.初始化 [DllImport(“libarcsoft_face_engine.dll”, EntryPoint = “ASFInitEngine”, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]

SketchUp答疑VRay 2.0 for SketchUp2014安裝不成功

作者 | 活力網Caigle VRay 2.0 for SketchUp安裝不成功主要有兩個原因: 一是版本選擇的問題; 二是安裝完對版本之後還需進行一個簡單的複製操作。 如果SketchUp和VRay都安裝在系統盤(C盤),一般沒有第二個問題。 具體操作視訊,請上活力網(ww

解決Centos 6.2 yum update報錯:libotf.so.0

當在Centos6.2執行yum update時,報錯如下: Setting up Update ProcessResolving Dependencies--> Running transaction check---> Package openmpi.x8

CentOS 7.0 安裝Redis 3.2.1詳細過程和使用常見問題

nec count ges des useful 內存 warning before outside http://www.linuxidc.com/Linux/2016-09/135071.htm 環境:CentOS 7.0 Redis 3.2.1 Redis的安裝與啟動

轉載Unity2018.2.9打不開VS2017,Unity開啟VS2017異常,並且有時候最後開啟的是Mono的解決方案

基於現在很多Unity工程師都是用VS寫程式碼除錯,現在分享下。 1.下載安裝Unity,下載安裝VS2017,下載安裝Visual Studio Tools For Unity2017 2.開啟Unity,選擇Edit→Preferences→Enternal

OpenFire連線Mysql8.0報錯解決方案。

前面步驟就是先裝Mysql8.0. 然後建資料庫Openfire, 然後Mysql匯入Openfire  XX:\Openfire\resources\database  mysql指令碼,執行可能報錯,sql指令碼自己去檢查排除,我的反正發現是 rank跟mysql的

解決Centos7 安裝NVDIA GPU+TensorFlow-gpu1.5.0

由於專案需要,需要安裝tensorflow-gpu1.5.0到Centos環境下。 環境介紹: Centos7 gcc-4.8.5 python3.5 我用的GPU的種類是:GeForce GTX1080 Ti,是英偉達的GeForce系列10的產品。 安

程式碼分析工具starTool 2.0使用HTML做程式碼地圖分析

【設計背景】 當前starTool已經可以完整輸出一個產品的程式碼地圖,類似於如下 工具介紹連結:https://blog.csdn.net/weixin_39020940/article/details/80633835 這樣確實能比較好的縱覽整個工程的程式碼結構,但是對於類

解決postman除錯oAuth2.0第三方介面

postman著實是我這種小後臺的調介面利器,今天想用它除錯一個第三方平臺的介面,操作記錄如下文(已經註冊oAuth2.0)。 獲取token 獲取token的方法如圖,token的url為第三方平臺提供的通過密碼獲取token的url地址(還有一種授權方

容器CentOS7.2下安裝和使用jetty-9.4.0

緣起 一直使用tomcat做容器。但最近玩了玩spring boot,看到內部整合的jetty蠻好玩,然後來自己搭建個jetty。通過配置和使用,目的也是為了讓自己掌握另一種容器,以後方便為業務遷移微服務來服務吧。 準備 A: 下載資源 選擇最新的tg

備忘2017Spark 2.0大型專案實戰:移動電商app互動式資料分析

一、大資料叢集搭建-  第1講-課程介紹1 第2講-課程環境搭建:CentOS 6.4叢集搭建%  第3講-課程環境搭建:hadoop-2.5.0-cdh5.3.6叢集搭建3 第4講-課程環境搭建:hive-0.13.1-cdh5.3.6安裝 第5講-課程環境搭建:zookeeper-3.4.5-cdh5.

方法lwip-2.0.2配置DHCP自動從路由器獲取IP地址和DNS伺服器地址, 並設定NetBIOS計算機名

本文使用是STM32F107VC微控制器的有線乙太網外設ETH和DP83848外部PHY收發器。 如果使用的是Keil uVision5的編譯器,需要檢查一下lwip/include/arch/cc.h裡面是否有下面這一行: #define PACK_STRUCT_BE

解決AH01909: www.example.com:443:0 server certificate does NOT include an ID....

問題描述 今天在配置apache虛擬地址時出現500錯誤,即繫結127.0.0.1的host後訪問配置好的虛擬地址,瀏覽器返回500 Internal Server Error,開啟apache的error.log檢視錯誤日誌,發現如下錯誤程式碼和描述: [

解決QQ分享沒有收到成功的問題

寫在前面的話:一個做了兩遍的QQ分享,再次做的時候,直接邊拷貝邊修改,執行後發現沒問題。 但是:分享成功卻收不到成功的回撥。 解決辦法:首先請點選這裡,一個字一個字的對照著看看自己那裡跟文件寫的不一樣,重點看一下自己清單檔案的那個schema,是不是

C++ OpenGL ES 2.0程式設計筆記5: mipmap

作者是現在對相關知識理解還不是很深入,後續會不斷完善。因此文中內容僅供參考,具體的知識點請以OpenGL的官方文件為準 前言 本文介紹了OpenGL ES 2.0 中常用的多級紋理貼圖技術,mipmap, 給出了一個使用mipmap的3D場景示例。