2016-07-13 5 views
0

omniauth.hashからユーザURLを取得するには?ユーザーがソーシャル(twitter、facebook、vkなど)で承認した場合、そのプロフィールへのリンクをリンクとしてページに表示したいと考えています。rails4 omniauthからユーザリンク

私はomniauth-のFacebook(およびその他)を使用

レールでinitializers/devise.rb 4.私の設定は簡単です:この設定では

config.omniauth :vkontakte, 'APP_ID', 'APP_SECRET' 
    config.omniauth :facebook, 'APP_ID', 'APP_SECRET' 
    config.omniauth :twitter, 'APP_ID', 'APP_SECRET' 

私は、コールバックに非常に悪いauth.hashを持って、YMLにそれはそうなります。

provider: facebook 
uid: '***************' 
info: !ruby/hash:OmniAuth::AuthHash::InfoHash 
    email: **************** 
    name: **************** 
    image: ************************ 
credentials: !ruby/hash:OmniAuth::AuthHash 
    token: **************** 
    expires_at: ****** 
    expires: ***** 
extra: !ruby/hash:OmniAuth::AuthHash 
    raw_info: !ruby/hash:OmniAuth::AuthHash 
    name: **************** 
    email: ****************** 
    id: '*******************' 

*実際の値です。ここではユーザーURLはありません。 https://github.com/mkdynamic/omniauth-facebook(下にスクロール)によると、それはする必要があります:request.env ['auth.hash']。extra.row_info.linkまたは.info.urls.Facebook

URLを取得する方法は?

答えて

1

this configurationをお試しください:

config.omniauth :facebook, 'APP_ID', 'APP_SECRET', info_fields: 'name,email,link' 

は、アプリケーションを再起動することを忘れないでください。

関連する問題