[英]Twitter gem authentication error (using omniauth-twitter token/secret)
我正在嘗試通過Twitter gem使用Twitter API,並使用先前通過omniauth-twitter授權的已登錄Twitter用戶的oauth令牌/秘密對呼叫進行身份驗證。
通過omniauth-twitter對Twitter用戶進行身份驗證工作正常。 將用戶的令牌和機密存儲在模型中,數據可通過current_twitter_user供控制器使用。
以下配置(僅應用程序身份驗證)運行正常
Twitter.configure do |config|
config.consumer_key = YOUR_CONSUMER_KEY
config.consumer_secret = YOUR_CONSUMER_SECRET
config.oauth_token = YOUR_OAUTH_TOKEN
config.oauth_token_secret = YOUR_OAUTH_TOKEN_SECRET
end
Twitter.search("something")
接下來,我想使用經過身份驗證的用戶的oauth_token和oauth_token_secret。
在有關Twitter gem的文檔之后,我將twitter初始化程序更改為:
Twitter.configure do |config|
config.consumer_key = YOUR_CONSUMER_KEY
config.consumer_secret = YOUR_CONSUMER_SECRET
end
然后,我創建了一個包含以下用於測試目的的代碼的操作:
if current_twitter_user
tw_client = Twitter::Client.new(
:oauth_token => current_twitter_user.token,
:oauth_token_secret => current_twitter_user.secret
)
@first_result = tw_client.search("something").results.first.text
end
我的問題:
Twitter搜索呼叫引發“ Twitter :: Error :: Unauthorized”異常。 我檢查了current_twitter_user提供的令牌和秘密,它們看起來不錯。
知道我應該尋找什么或我做錯了什么嗎? 幫助/想法非常感謝。
非常感謝,歐根
使用的寶石:
oauth (0.4.7)
omniauth (1.1.4)
omniauth-oauth (1.0.1)
omniauth-twitter (0.0.16)
twitter (4.8.1)
我終於確定了問題(經過一夜的睡眠)-一個愚蠢的配置問題!
Twitter gem從twitter.rb初始化程序文件中獲取了消費者密鑰/秘密對,而omniauth-twitter通過環境獲得了它(對不起,在我的問題中未顯示此基本信息,因為該部分“有效”了)。
我混合了Twitter帳戶,並在消費者關鍵部分使用了兩個不同的Twitter應用程序。 Twitter和omniauth-twitter寶石在不同的應用程序上。 這種方法不起作用(不應該)並導致身份驗證失敗。 當然,我應該保留消費者詳細信息的干燥狀態:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.