我一直在为使用laravel进行G +登录而苦苦挣扎,我已经使用composer下载了php-sdk。我也使用JavaScript登录,一旦用户登录,我将其重定向到从JavaScript到/gLogin?email=abc@gmail.com&name=John Doe
的路线,我有以下代码。
$user_profile['email']=Input::get('email');
$user_profile['name']=Input::get('name');
$user_id=DB::table('users') -> where('dyp_user_email', $user_profile['email'])-> pluck('dyp_user_id');
if($user_id)
{
$user_to_be_logged_in=new user();
$user_to_be_logged_in = User::find($user_id);
}
else
{
$password=$token = str_random(16);
$hash=Hash::make($password);
$user_to_be_logged_in = user::create(array('dyp_user_type' => 'IN', 'dyp_name' => $user_profile['name'], 'dyp_user_email' => $user_profile['email'], 'dyp_mobile_number' => '','dyp_password'=> $hash,'dyp_user_status' => 'VF'));
$data = array('name' => $user_to_be_logged_in -> dyp_name, 'password' => $password);
Mail::send('emails.fbUserRegistration', $data, function($message) use ($user_to_be_logged_in) {
$message -> to($user_to_be_logged_in->dyp_user_email, $user_to_be_logged_in->dyp_name) -> subject('Thanks for registering with dreamyourproperty.com');
});
}
Auth::login($user_to_be_logged_in);
这里存在严重的安全问题,我无法验证用户的会话。
我有人手动点击网址/gLoin?email=abc@gmail.com&name=xyz
然后我的代码也会验证他。
与G +登录相比,FB登录非常简单。如果有人向我提供指导,我会严重困扰这一部分。
答案 0 :(得分:0)
他们想要处理此问题的方式是/gLogin?access_token=xyz
其中xyz
是用户Google+ access_token。向使用该访问令牌进行身份验证的people.get发出请求。这样,您就可以对服务器端验证当前用户的特定Google+个人资料进行验证。