簡體   English   中英

Twitter gem身份驗證錯誤(使用omniauth-twitter令牌/秘密)

[英]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.

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