Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
谷歌登录vuejs spa和laravel api_Laravel_Vue.js_Vuejs2_Google Signin_Laravel 5.5 - Fatal编程技术网

谷歌登录vuejs spa和laravel api

谷歌登录vuejs spa和laravel api,laravel,vue.js,vuejs2,google-signin,laravel-5.5,Laravel,Vue.js,Vuejs2,Google Signin,Laravel 5.5,我有一个带有vue.js的单页应用程序,它使用Laravel5.5作为api。我想添加谷歌登录到它,但我不知道从哪里开始。我以前使用过laravel社交名媛来添加谷歌登录,但那是纯laravel应用程序,而不是laravel api 有人能指出一些我能读到的资源吗。是否有类似社交名媛的软件包,在这种情况下是否也有使用社交名媛的方法。看看 Hellojs让它变得简单。允许您打开一个弹出窗口,以便使用社交提供商登录,并返回访问令牌。然后使用后端中的访问令牌获取用户 所以你的js看起来像这样 hel

我有一个带有
vue.js
的单页应用程序,它使用
Laravel5.5
作为api。我想添加谷歌登录到它,但我不知道从哪里开始。我以前使用过
laravel社交名媛
来添加谷歌登录,但那是纯laravel应用程序,而不是laravel api

有人能指出一些我能读到的资源吗。是否有类似社交名媛的软件包,在这种情况下是否也有使用社交名媛的方法。

看看

Hellojs让它变得简单。允许您打开一个弹出窗口,以便使用社交提供商登录,并返回访问令牌。然后使用后端中的访问令牌获取用户

所以你的js看起来像这样

 hello
  .login(network)
  .then(
    () => {
      const authRes = hello(network).getAuthResponse();
      axios
        .get('api/link/to/sociak/callback',{
            params:{
              access_token : authRes.access_token, 
              provider: network
            }
         })
        .then((response) => {console.log(response.data.token)})})
        .catch((error) => {console.log(error.response.data)})
    },
    (e) => {
      console.log(e)
    }
  )
在你的控制器中,你可以像

public function handleProviderCallback(Request $request)
{
    $s_user = Socialite::with($request->provider)->stateless()->userFromToken($request->access_token);
    //your logic here...
}

希望它能让你更清楚。我正在努力解决这个问题,hello js让我的生活变得简单了

与前面的答案不同,我曾经添加谷歌的身份验证窗口并获得一个令牌(,带有“email,profile”范围


然后将其发送到laravel后端(安装了和CORS),后者检查是否有用户使用该电子邮件,并以登录方式向vue SPA回复laravel。

现在有一个vuejs组件用于此操作。