问题标签 [laravel-socialite]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
244 浏览

session - laravel 不会在会话属性中返回状态参数

我使用 laravel 版本 5.1.4 和 "laravel/socialite":"v2.0.8" 当我尝试社交登录时,我收到此错误InvalidStateException in AbstractProvider.php line 183:错误。很有趣,它可以在我的 macbook pro 上运行。但它不适用于 windows chrome 浏览器。我试图找到问题,我想我找到了。当我转储 laravel_session 时,laravel session 不返回状态参数,这里是返回参数。

这是我在macbookpro上得到的图片

macbookpro 镀铬

这是在窗户上。

窗户镀铬

0 投票
2 回答
2651 浏览

php - Laravel Socialite (Google) 错误:Middleware.php 第 69 行中的 ClientException;错误 403

我正在设置一个 Laravel 应用程序来通过 Google 进行身份验证。

系统提示我选择一个 Google 帐户并允许访问我的 Google 信息,并且我已经完成了回调函数的所有工作。

当我的回调函数运行时(它确实被正确调用),我得到:

  • Middleware.php 第 69 行中的 ClientException:
  • 客户端错误:403

我的 AuthController 中导致错误的代码是:

如果有任何帮助,我将不胜感激。我正在使用 Laravel 5.1 和 Socialite 2.0。

0 投票
4 回答
4398 浏览

facebook - Laravel 5.1 - 通过社交名流进行 Facebook 身份验证

我正在尝试在我的项目中实现 Facebook 登录,但是我收到一个错误:

Middleware.php 第 69 行中的 ClientException:客户端错误:400

  1. 在 /Applications/MAMP/htdocs/laratest/vendor/guzzlehttp/guzzle/src/Middleware.php 第 69 行

  2. 在 Promise.php 第 199 行的 Middleware::GuzzleHttp{closure}(object(Response))

  3. 在 Promise.php 第 152 行中的 Promise::callHandler('1', object(Response), array(object(Promise), object(Closure), null))

  4. 在 TaskQueue.php 第 60 行中的 Promise::GuzzleHttp\Promise{closure}()

  5. 在 CurlMultiHandler.php 第 96 行中的 TaskQueue->run()


我经历的步骤:

  • composer require laravel/socialite& composer update.

  • 在我的config>services.app中,

'facebook' => [ 'client_id' => env('FB_CLIENT_ID'), 'client_secret' => env('FB_SECRET_ID'), 'redirect' => 'http://localhost.com:8888', ],

  • config>app.php 中添加 Laravel\Socialite\SocialiteServiceProvider::class,&'Socialite' => Laravel\Socialite\Facades\Socialite::class,

  • 成功设置路由。

Route::get('auth/facebook', 'Auth\AuthController@redirectToProvider'); Route::get('auth/facebook', 'Auth\AuthController@handleProviderCallback');

  • 在我的刀片文件中成功设置链接。Login with Facebook

  • 在我的Controller>AuthController.php中,我添加了:

    /li>
  • 还有用户表:

    /li>

编辑: 当我注释掉$user = Socialite::driver('facebook')->user();部分时,我被重定向到localhost.com/auth/facebook

编辑2: 我的.env文件:

'facebook' => [ FB_CLIENT_ID => '###', FB_SECRET_ID => 'this-is-secret!', ],

0 投票
1 回答
638 浏览

facebook - Laravel 5.1 - 社交名流 - 获取用户

使用官方Laravel Docs 5.1 - Socialite,我设置了路由并编辑了我的 AuthController。

它完美运行并返回 http://domain.dev/auth/facebook/callback?code=AQDLFlYr...

然后我使用了 Laracasts 的 Socialite - Laravel 5.0,我试着把我的变成一个适当的 Facebook 身份验证。我在视频中做了所有事情,直到(特别是12.11 分钟)。(在 12.11 他在 15 秒内回顾了这些东西)。这就是我想要做的。


现在,当我更改AuthController为:

...并有我AuthenticateUser class这样的:

*UserRepository is currently empty.


当我使用*First dd时,我会False在屏幕上收到。

当我使用*Second dd时,我收到True

当我使用 时*Third dd,我什么也没收到。

在所有这些情况下,现在,我都收到了http://domain.dev/auth/facebook?code=9329409329042.


编辑:

  • 我添加了return,现在链接包括了?code=9390249032...,但是当我使用*Third dd-时dd($user),仍然没有返回任何内容

  • 我设法来到这里:

    /li>

..链接包括?code=9943290...

  • 基本上,$user = $this->socialite->driver('facebook')->user();由于 dd($user) 没有返回任何东西,所以部分没有工作/转换。

0 投票
1 回答
1756 浏览

php - Laravel 5.1 - Facebook 通过社交名流(客户端错误:400)

在 Laracast (Laravel 5.0 - Socialite)上使用本教程,特别是在12.11 分钟之前,我已经成功设置了所有内容。但是,我使用的是 Laravel 5.1

  • 定义了我的路由,但当前注释掉了回调提供程序,因为我只是试图通过获取的令牌获取用户详细信息:

    /li>
  • 增加的必需品config>services.php

    /li>

我决定暂时返回同一页面 ( auth/facebook)。这就是为什么我将回报设置domain.devv/auth/facebook为测试。

  • 在我的AuthController.php,我设置:

    /li>
  • 最后,在我的AuthenticateUser.php

    /li>

现在,我单击Login with Facebook链接并被定向到domain.dev/auth/facebook?code=943299043290...

当我只使用*First dd(所有其他注释行都被注释)时,它返回false.

当我使用唯一的*Second dd(带有注释行$user = $this->socialite->driver('facebook')->user();)时,它返回true.

所以一切都很完美,并且通过execute(),然后通过getAuthorizationFirst()。最后,返回execute()同样包含在链接 ( domain.dev/auth/facebook?code=943299043290...) 中的已获取令牌。


我的问题出现在这里:

在我取消注释的那$user = $this->socialite->driver('facebook')->user();一刻,我收到一个错误:

Middleware.php 第 69 行中的 ClientException:客户端错误:400

1. 在 /Applications/MAMP/htdocs/laratest/vendor/guzzlehttp/guzzle/src/Middleware.php 第 69 行

2. 在 Promise.php 第 199 行的 Middleware::GuzzleHttp{closure}(object(Response))

3. 在 Promise.php 第 152 行中的 Promise::callHandler('1', object(Response), array(object(Promise), object(Closure), null))

4. 在 TaskQueue.php 第 60 行中的 Promise::GuzzleHttp\Promise{closure}()

5.在CurlMultiHandler.php第96行的TaskQueue->run()

由于某些原因,这条线 ( $user = $this->socialite->driver('facebook')->user();)对我不起作用(虽然它在教程中起作用(分钟 12.11 用于 15 秒的简要说明)。

每当我使用$user = $this->socialite->driver('facebook')->user();时,我都会收到错误ClientException in Middleware.php line 69: Client error: 400,当然,我无法得到dd($user).

补充一点,当我看到 ClientException 错误时,链接仍然带有代码:(domain.dev/auth/facebook?code=943299043290...

0 投票
1 回答
556 浏览

php - 安装 Laravel Socialite 应用程序后给出空白页面

我是 laravel 的新手,我通过 composer 安装 Laravel Socialite 并在 config/app.php 中进行必要的更改,但是当我运行我的应用程序时它给出空白页,我的 app.php 文件是

请帮助我摆脱这个问题。

0 投票
3 回答
3588 浏览

php - 如何在 Laravel 5.1 中使用 Github、Facebook、Gmail 和 Twitter 登录?

我正在尝试使用 Laravel 5.1 中的社交网站登录。我已经安装了社交名流并遵循以下教程:

https://mattstauffer.co/blog/using-github-authentication-for-login-with-laravel-socialite

http://tutsnare.com/social-authentication-in-laravel-5/

我遵循了每一步,当尝试使用 Github 登录时,它重定向到 Github,登录后重定向到 URL 回调,但我的问题是它不会将用户数据存储在我的数据库中。

更新 1

现在我的问题是如何使用社交网络对用户进行身份验证。以下是我的代码,但它抛出一个错误,说未定义的索引密码。该错误是因为Auth::attempt()有密码参数。

更新 2

经过一番研究,我意识到我需要创建自定义身份验证驱动程序。如果有人有想法,请发布您的答案

一年前问的同样的问题

laravel 用谷歌账号登录

0 投票
1 回答
537 浏览

php - 在 Laravel 和 Socialite 中使用 Google App Engine

我在通过社交名流登录 Google oauth 时遇到问题。我正在将当前在本地和生产中运行的应用程序迁移到 GAE。

我正在为 Laravel 5.1 使用 shpasser gae 包,它运行正常。第一个登录请求会显示谷歌权限屏幕,但在回调中我收到 curl 错误。

我尝试将 Laravel 使用的 Guzzle 包中的证书位置更改为此

但仍然有同样的错误。我的 php.ini 文件中也有这个

除了可能在没有社交名流的情况下重做登录并仅使用 Guzzle 并查看我是否仍然收到错误之外,选项用完了。

更新在文档中,它指出您不能同时激活 curl lite 和 full curl。这已更改,因此仅extension = "curl.so"在 php.ini 文件中。它不能解决问题,但需要改变

0 投票
1 回答
889 浏览

php - 使用移动应用程序中的令牌进行 Rest API 身份验证

我正在为 android 应用程序构建一个后端 rest api。它对用户进行身份验证并将令牌发送到Authorization HEADER. 我正在从custom middleware. 现在我尝试与 Socialite 核实它是否为我提供了一种通过令牌获取用户的方法。如果用户不存在,我们将创建一个用户,否则将响应作为成功发送到 android 应用程序。

现在在社交名流中,我无法实施特定的方法getUserByToken($token),因为它受到保护。

我不精通laravel。有人可以指导我吗?

谢谢,帕万

0 投票
1 回答
160 浏览

laravel-socialite - 启用 Facebook 应用程序“需要应用程序密码”设置时,Laravel Socialite 不起作用

出于安全原因,我决定在我的 Facebook 应用程序上启用“要求应用程序机密”。然后我发现 Laravel Socialite 版本 " ^2.0" 无法正常工作,因为它没有getUserByToken在类 " Laravel\Socialite\Two\FacebookProvider" 的方法 " " 上发送 appsecret_proof。

我决定做一个快速修复:

有没有更好的解决方案来满足这个要求?这个用例有官方补丁吗?

谢谢