我目前使用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时刻。 –
啊。好的,这是我的困惑的来源。谢谢 –