簡體   English   中英

Chrome擴展程序的Twitter OAuth回調網址

[英]Twitter OAuth callback URL for a Chrome extension

我正在嘗試開發一個Chrome擴展程序,人們可以使用他們的Twitter帳戶登錄(使用OAuth 1.0A)。

到目前為止,我還沒有在Twitter應用程序設置中提供回調URL,因此返回用戶輸入的PIN以完成授權過程。 但我不想在擴展中實施最終的PIN驗證步驟。

相反,我希望一旦用戶被重定向到Twitter並授權應用程序訪問他的帳戶,他就會自動登錄到擴展程序並可以使用它來發布推文。

我知道我應該定義一個回調網址,但我不知道該使用什么。 我已經苦苦掙扎了幾天,在此期間我嘗試了多種方法(例如chrome:// extensions / extension_id /但它不被Twitter接受)。 我沒有找到解決方案。

關於什么應該是回調網址的任何想法? 什么應該包含該URL指向的文件?

我知道這是非常古老的,但我有同樣的問題,並最終想出如何做到這一點,所以希望這有助於其他人找到這個。

在您的Twitter應用程序配置中,您必須向域添加回調URL。 然后,在Chrome擴展程序中,您必須擁有一個在同一個域上注入的內容腳本。 內容腳本將具有一些邏輯,用於解析身份驗證令牌的查詢字符串,並將其作為消息發送到后台腳本。 然后,在后台腳本中,您可以使用這些令牌獲取實際的oauth令牌,然后將其保存到本地存儲或chrome.storage。

這是一個簡短的例子:

  1. 在manifest.json中,確保您的內容腳本與您在Twitter應用設置回調網址中放置的域相同:

     "content_scripts": [{ "matches": ["https://andyjiang.com/*"], "js": ["js/session.js"] }] 
  2. 然后,在你的js/session.js文件中,有這種邏輯:

     chrome.runtime.sendMessage({type: 'auth', session: window.location.search.substr(1)}, function(response) { window.open('', '_self', ''); window.close(); }); 
  3. 在您的后台腳本中,有一些邏輯可以偵聽消息,獲取令牌,並使用Twitter的API進行oauth進程的第三站,最終獲得oauth令牌和oauth令牌秘密,然后您可以將其保存在localStorage或chrome中。存儲。

希望有所幫助。 如果你想玩它,這是示例代碼。

https://github.com/lambtron/chrome-extension-twitter-oauth-example

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM