2016-05-28 120 views
1

私は自分のユーザがfacebook oAuthを使って自分のウェブサイトにログイン/登録することを試みています。このため、私はユーザの電子メールアドレスを要求しますfacebookでメールを受け取ることを義務づけるoAuth with Socialite

Facebook oAuthダイアログには電子メールを提供するかどうかを指定するオプションがありますが、ユーザが自分の電子メールを提供しない場合でも、ユーザをフェイスブックから再度要求することはできません。ログインして、単にコールバックURLにリダイレクトします。

私はLaravel and Socialiteパッケージを使用しています。

任意のソリューション??彼はアプリで彼女を共有すると場合、空であることを受け入れた場合、私は、ユーザーの電子メールアドレスを含むように$user->emailを期待

+0

Facebookのすべてのユーザーにメールが届いているわけではありません。 – WizKid

+0

どのようにログインしますか?電話番号? – Eirtaza

+0

はい。例えば – WizKid

答えて

0

名士はあなたが

$user = Socialite::driver('facebook')->user(); 
$user->email; 

を使用して認証が成功した後、直接ユーザー情報を取得することができますユーザーが電子メールアドレスの共有を拒否しました。
$user->emailが空の場合は、エラーをスローして、ユーザーに再認証を依頼してください。あなたがユーザーを解雇しようとする可能性がある場合は、hereというガイドがあります。


問題を回避する便利な方法は、Facebookでのログインを希望する場合に電子メールの共有を許可する必要があるという警告を表示することです。

関連する問題