rails + omniauth:检查基本信息

时间:2012-11-03 13:59:04

标签: ruby-on-rails ruby facebook authorization omniauth

这是我在授权后获取用户基本信息的代码:

basic_info = request.env['omniauth.auth'].extra.raw_info

first = basic_info.first_name
last = basic_info.last_name 
email = basic_info.email 
id = basic_info.id

四个变量获取数据,因此它起作用 但是当我尝试basic_info.inspect命令时,我得到:

  

“#”

为什么?不应该转储所有的价值吗?

1 个答案:

答案 0 :(得分:1)

就像辛格在评论中提到的那样,你应该使用to_yaml方法来查看嵌套哈希哈希中的内容。我通常将以下代码放在适用的控制器中:

raise request.env['omniauth.auth'].to_yaml

现在,当尝试登录控制器时,只需渲染yaml。

编辑:现在Rails 4使用了better_errors gem,这种检查omniauth哈希的方法不再有效。现在更好的方法是:

render :text => "<pre>" + env["omniauth.auth"].to_yaml and return