Google +使用laravel登录

时间:2014-06-29 12:20:27

标签: api laravel-4 google-plus google-api-php-client

我一直在为使用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登录非常简单。如果有人向我提供指导,我会严重困扰这一部分。

1 个答案:

答案 0 :(得分:0)

他们想要处理此问题的方式是/gLogin?access_token=xyz其中xyz是用户Google+ access_token。向使用该访问令牌进行身份验证的people.get发出请求。这样,您就可以对服务器端验证当前用户的特定Google+个人资料进行验证。