0
客戶端上的大多數oauth2實現都需要某種重定向,您可以將用戶重定向到登錄頁面,登錄頁面在成功登錄和授權時,通過查詢字符串或哈希片段中的令牌重定向到您的站點。但google +登錄按鈕是如何工作的,它不會重定向你。我知道你可以在一個窗口內做到這一點,並有一個窗口接收令牌報告回到它的父窗口,但在這種情況下,登錄按鈕將不得不控制消費者的域上的一頁,這afaik,它沒有。google +登錄按鈕如何將令牌傳遞給客戶端?
客戶端上的大多數oauth2實現都需要某種重定向,您可以將用戶重定向到登錄頁面,登錄頁面在成功登錄和授權時,通過查詢字符串或哈希片段中的令牌重定向到您的站點。但google +登錄按鈕是如何工作的,它不會重定向你。我知道你可以在一個窗口內做到這一點,並有一個窗口接收令牌報告回到它的父窗口,但在這種情況下,登錄按鈕將不得不控制消費者的域上的一頁,這afaik,它沒有。google +登錄按鈕如何將令牌傳遞給客戶端?
您可以將外部JavaScript加載到您的域,它有權訪問該頁面。與從CDN加載類似jQuery的東西沒有太大區別。
JavaScript能夠使用啓動的授權窗口並從該窗口檢索授權對象,然後客戶端庫在客戶端設置和使用令牌。如果您需要服務器端令牌,則需要執行one-time-code flow,這比通過重定向的典型OAuth服務器端流更安全。