2014-01-11 128 views
0

我已經在我正在開發的Rails應用中爲Twitter實施了Omniauth。對於使用該登錄的用戶,我可以獲取OAuth令牌和祕密。這一切都工作。獲取Twitter OAuth令牌和祕密,但未使用戶使用Twitter登錄

我無法弄清楚的是,如何獲得未使用Twitter登錄的用戶的OAuth令牌和機密?

我確定我已經使用了可以對其進行「身份驗證」的網站,以便他們無需使用Twitter登錄即可獲取OAuth令牌和機密。 Twitter似乎暗示你需要使用三腳授權,但我似乎無法找到任何關於此的更多信息。

是3腿的授權方式去呢?

回答

1

我會做的是修改控制器操作,處理Twitter的Omniauth回調。如果訪問該動作時用戶已經有一個會話(即他們通過您的備用機制登錄),那麼您只需抓取Twitter令牌/祕密並存儲它,就像創建通過Twitter登錄的新用戶時一樣。如果會話中沒有用戶,請執行您已經在做的事情。

現在,您只需向您的網站添加一個按鈕,即已登錄但沒有Twitter令牌/密碼的人員可以看到。該按鈕鏈接到您用於使用Twitter鏈接登錄的完全相同的/auth/twitter

當他們通過Twitter進行身份驗證後,他們會被髮送到應用程序將會看到他們已經登錄(用戶在會話中)的回調URL,並且只會添加Twitter令牌/祕密。

+0

太棒了!這正是我所期待的。 – hamchapman

相關問題