作爲我正在構建的Google Chrome擴展程序的一部分,我需要能夠判斷用戶是否在啓用了擴展程序的情況下登錄Google Chrome瀏覽器。谷歌瀏覽器擴展程序:如何確定用戶是否已登錄Chrome瀏覽器?
我該怎麼做?
請注意,使用OAuth2(因此,the chrome.identity
API)超出了我的項目範圍,所以我需要找到另一種方式。
編輯:我的問題不是這個one的重複,因爲該線程中的解決方案不再有效。
作爲我正在構建的Google Chrome擴展程序的一部分,我需要能夠判斷用戶是否在啓用了擴展程序的情況下登錄Google Chrome瀏覽器。谷歌瀏覽器擴展程序:如何確定用戶是否已登錄Chrome瀏覽器?
我該怎麼做?
請注意,使用OAuth2(因此,the chrome.identity
API)超出了我的項目範圍,所以我需要找到另一種方式。
編輯:我的問題不是這個one的重複,因爲該線程中的解決方案不再有效。
檢查LSID
cookie設置:
chrome.cookies.get({url:'https://accounts.google.com', name:'LSID'}, function(cookie) {
if (cookie) {
console.log('Sign-in cookie:', cookie);
}
});
manifest.json的權限:"cookies", "https://accounts.google.com/"
我剛測試過這個地方:1.)用戶登錄到Gmail而不是Chrome瀏覽器; 2.)用戶已登錄Gmail和Chrome瀏覽器。看起來,兩種情況下檢索到的cookie都是相同的。即使用戶登錄到Gmail,是否還有任何cookie信息可以告訴我該用戶是否未登錄Chrome瀏覽器? – user5508297
我不知道,對不起。嘗試戳該域上的其他cookie,可能使用cookie編輯器擴展。 – wOxxOm
似乎會檢測到網站登錄,而不是Chrome登錄。我研究過,似乎唯一可能的方式是在電子郵件範圍內的清單中使用chrome.identity。那麼如果電子郵件爲空,則用戶未登錄。 –
chrome.identity.getAuthToken({interactive: false}, function (token) {
if (!token) {
if (chrome.runtime.lastError.message.match(/not signed in/)) {
console.log("not singed in");
} else {
console.log("singed in");
}
}
});
而且不要忘記添加"identity"
權限。
chrome.identity是唯一的api。你爲什麼需要另一種方式? –
[檢測用戶是否從Chrome擴展程序登錄]可能的重複(http://stackoverflow.com/questions/2971491/detecting-whether-user-is-logged-in-or-not-from-a -chrome-extension) –
你應該澄清你是否意味着登錄chrome,例如從chrome://設置頁面,或者只登錄到Google帳戶,而無需登錄chrome本身。 – kzahel