Я использую Sinatra и OmniAuth, пытаюсь аутентифицироваться с помощью Facebook.Кажется, все работает правильно, за исключением свойства псевдонима.Мой аутентификационный хэш возвращает что-то для псевдонима, но это не псевдоним человека.Для того, что я пытаюсь сделать, очень важно получить прозвище человека.И я уже проверил свою страницу в Facebook, чтобы убедиться, что у меня установлен псевдоним.Должно возвращаться «HeroicEric».
get '/auth/:name/callback' do
auth = request.env["omniauth.auth"]
user = User.first_or_create({ :uid => auth["uid"]}, {
:uid => auth["uid"],
:username => auth["user_info"]["nickname"],
:name => auth["user_info"]["name"],
:email => auth["user_info"]["email"]
})
session[:user_id] = user.id
redirect '/user/' + user.id.to_s
end
Возвращаемый хеш выглядит следующим образом:
"user_info"=>{
"name"=>"Eric Kelly",
"urls"=>
{
"Facebook"=>"http://www.facebook.com/profile.php?id=550432081",
"Website"=>nil
},
"nickname"=>"profile.php?id=550432081",
"last_name"=>"Kelly",
"image"=>"http://graph.facebook.com/550432081/picture?type=square",
"first_name"=>"Eric",
"email"=>"heroiceric@gmail.com"
},