我目前使用rails和omniauth gem將我的應用程序與facebook,twitter和linkedin集成在一起。當我處理一個omniauth回調時,我簡單地從認證哈希中保存uid和提供者。大多數在線教程只保存這些字段,但您將如何在稍後訪問facebook/twitter/linkedin中的用戶詳細信息?除了uid/provider之外,還應該保存認證哈希的其他字段嗎?Rails和Omniauth - 我應該保存多少驗證散列數據?
一些導我已讀:
我目前使用rails和omniauth gem將我的應用程序與facebook,twitter和linkedin集成在一起。當我處理一個omniauth回調時,我簡單地從認證哈希中保存uid和提供者。大多數在線教程只保存這些字段,但您將如何在稍後訪問facebook/twitter/linkedin中的用戶詳細信息?除了uid/provider之外,還應該保存認證哈希的其他字段嗎?Rails和Omniauth - 我應該保存多少驗證散列數據?
一些導我已讀:
在Railscast有創建全功能OmniauthCallbacksController,其中前行的一個示例:
raise request.env["omniauth.auth"].to_yaml
輸出屏幕上的請求。正如你所看到的,在這個散列中,omniauth.auth
有很多關於認證用戶的有用信息。每次身份驗證正常時都會收到它。在這種情況下,除了uid
和provider
之外,不需要在數據庫中存儲任何其他內容。
散列的條目都可以訪問這樣的:
(request.env["omniauth.auth"]).info.nickname
或
(request.env["omniauth.auth"]).uid
你看邏輯:YAML輸出的每個部分(讓我們說'信息')包含特定屬性。
結束了從Facebook上保存訪問令牌,如果我需要信息,然後自動刷新令牌每2小時輪詢api。
嗯,我希望能夠隨時訪問用戶的數據,而不只是當他認證 –
散列是可用的,直到sign_out時刻。 –
啊。好的,這是我的困惑的來源。謝謝 –