标签: laravel-socialite

Laravel 5和Socialite-登录后新重定向

这里还有另一个新问题,但希望有人能阐明一些观点:

我将Laravel 5与Socialite结合使用,我希望能够在用户登录后将其重定向到网站上的页面。问题是使用

return redirect('any-path-I-put-here');
Run Code Online (Sandbox Code Playgroud)

只需将其重定向回“ social-site / login?code = afkjadfkjdslkfjdlkfj ...”(其中“ social-site”是指正在使用的任何网站,例如,facebook,twitter,google等)。

因此,在我看来正在发生的事情是,Socialite / Contracts / Provider接口中的redirect()函数覆盖了我事后尝试执行的任何重定向。

为了澄清起见,我的路线设置正确。我已经尝试了可以​​想象到的每个版本的“重定向”(“到”,“后退”,“预期”,重定向::等),并且正在从我的Auth Controller调用该方法(尽管我已经在其他地方尝试过了)以及)。

问题是,使用社交名流存储和登录用户后,如何覆盖该redirect()?任何帮助表示赞赏!先感谢您。

包含相关重定向的代码为:

public function socialRedirect( $route, $status, $greeting, $user )
{

    $this->auth->login( $user, true );

    if( $status == 'new_user' ) {
        // This is a new member. Make sure they see the welcome modal on redirect
        \Session::flash( 'new_registration', true );

        return redirect()->to( $route );// This is just the most recent attempt. It originated with return redirect($route);, and has been attempted …
Run Code Online (Sandbox Code Playgroud)

redirect laravel laravel-5 laravel-socialite

5
推荐指数
1
解决办法
6179
查看次数

Laravel 5.1-通过Socialite的Facebook(客户端错误:400)

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

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

    Route::get('auth/facebook', 'Auth\AuthController@redirectToProvider');
    //Route::get('auth/facebook/aaa', 'Auth\AuthController@handleProviderCallback');
    
    Run Code Online (Sandbox Code Playgroud)
  • 在中增加了必需品config>services.php

    'facebook' => [
     'client_id' => '##',
     'client_secret' => env('FB_SECRET_ID'),
     'redirect' => 'http://laratest.dev/auth/facebook',   
    ],
    
    Run Code Online (Sandbox Code Playgroud)

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

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

    public function redirectToProvider(AuthenticateUser $authenticateUser, Request $request)
     {  
       return $authenticateUser->execute($request->has('code'));
     }
    
    Run Code Online (Sandbox Code Playgroud)
  • 最后,在我的AuthenticateUser.php

    use Illuminate\Contracts\Auth\Guard;  (PS. I changed Authenticator to Guard)
    
       class AuthenticateUser {
          private $users;
          private $socialite;
          private $auth;
    
    public function __construct(UserRepository $users, Socialite $socialite, Guard $auth)
     {
         $this->users = …
    Run Code Online (Sandbox Code Playgroud)

php facebook-graph-api laravel laravel-socialite laravel-5.1

5
推荐指数
1
解决办法
1546
查看次数

目标[Laravel\Socialite\Contracts\Factory]不可实例化

我正在使用laravel流明5.2.

目标[Laravel\Socialite\Contracts\Factory]不可实例化.

当我试图让Laravel使用Socialite包登录Twitter时,我遇到了这个错误.

已完成的工作:

A)在config\app.php中1.Laravel\Socialite\SocialiteServiceProvider :: class 2.'Socialite'=> Laravel\Socialite\Facades\Socialite :: class

我跟着这个:http: //goodheads.io/2015/08/24/using-twitter-authentication-for-login-in-laravel-5/

laravel laravel-socialite lumen lumen-5.2

5
推荐指数
2
解决办法
3894
查看次数

社交网络laravel 5.4 Facebook登录错误(RequestException.php第111行中的ClientException)

在过去注册Facebook功能突然工作,当我注册或登录Facebook然后我面临这个错误

RequestException.php第111行中的ClientException:客户端错误:GET https://graph.facebook.com/v2.8/me?access_token=&fields=name,email,gender,verified,link&appsecret_proof=5fb0d218f94cb80241212269c053f0186d360efd82cd3b588eaf621e0c79c 导致400 Bad Request响应:{"error":{"message":"必须使用活动访问令牌来查询有关当前用户的信息.","type":"OAuthExce(截断...)

我正在使用Socialite Package

注意:由于某些原因,我无法更新作曲家或完整的社交名媛包

注意:出于某种目的,我在社交名媛包中有一些变化.如果我更新整个包然后以前的更改将会影响..我在LinkedInProvider和GoogleProvider文件中做了一些更改..我需要适当的解决此错误

我的项目是实时的,用户面临这个问题.任何帮助将不胜感激..

php laravel laravel-socialite

5
推荐指数
1
解决办法
546
查看次数

使用Gmail登录时从社交网站获取电子邮件地址

我正在关注此文章以登录Google.我能够成功重定向到Gmail登录.此外,它成功地回调url.

以下是我的代码

public function showGoogleLoginForm() {
    $providerKey = \Config::get('services.google');
    return \Socialite::driver( 'google' )->scopes(['profile', 'email'])->redirect();
}
Run Code Online (Sandbox Code Playgroud)

问题

我现在正在尝试检查回调是否给了我用户的电子邮件地址.这样,我可以检查用户是否在我的数据库中注册.

有没有办法在回调中获取电子邮件地址?

我能够将用户重定向到gmail登录,并且我能够达到我的回调方法.在回调方法中,我得到了这段代码的错误:\Socialite::driver( 'google' )->user()

我使用此代码时出现此错误\Socialite::driver( 'google' )->user();

laravel-socialite laravel-5.3 laravel-5.4

5
推荐指数
1
解决办法
479
查看次数

Laravel 5.5社交网站集成显示错误formatRedirectUrl()必须是类型数组,null给定

我正在使用"laravel/socialite":"^ 3.0",登录facebook.但它显示错误

类型错误:传递给Laravel\Socialite\SocialiteManager :: formatRedirectUrl()的参数1必须是数组类型,给定null,在/var/www/html/mas/vendor/laravel/socialite/src/SocialiteManager.php中调用.

当我在登录控制器中调用以下函数时会发生这种情况

public function socialLogin($social)
{
    return Socialite::driver($social)->redirect();
}
Run Code Online (Sandbox Code Playgroud)

laravel-5 laravel-socialite

5
推荐指数
2
解决办法
8649
查看次数

Laravel Socialite:Laravel \ Socialite \ Two \ InvalidStateException

我是Laravel Socialite的新手,从社交媒体登录重定向回时出现此错误

Laravel \ Socialite \ Two \ InvalidStateException位于/vendor/laravel/socialite/src/Two/AbstractProvider.php:209**

即使我已经尝试过此解决方案/sf/answers/2221718551/, 但我仍然面临着同样的错误。

这是Socialite控制器的代码

// Redirect to Social provider for login
public function redirectToProvider($provider)
{
    return Socialite::driver($provider)->redirect();
}

// Handling get request from social provider
public function handleProviderCallback($provider, Request $request)
{
    $user = Socialite::driver($provider)->user();
}
Run Code Online (Sandbox Code Playgroud)

实际上,代码在一开始就起作用了,但是在我将非www重定向到www之后,它就停止了工作。这是.htaccess文件

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-socialite

5
推荐指数
1
解决办法
970
查看次数

Auth::login() 无法正常工作 laravel 5.7

我正在尝试使用 laravel socialite 设置“使用 facebook 登录”。当我尝试登录时,它从 Facebook 获得成功回调,我将获取的数据存储到数据库中并尝试重定向到主页。这样做时,我被重定向回登录页面并且从未到达主页。

在调试错误时,我发现我的 Auth::login($user) 工作不正常。

这是代码-

验证控制器.php

use App\Http\Controllers\Controller;
use Laravel\Socialite\Two\InvalidStateException;
use Auth;
use Socialite;
use App\User;

public function redirectToProvider($provider)
{
    return Socialite::driver($provider)->redirect();
}

public function handleProviderCallback($provider)
{
    $user = Socialite::driver($provider)->user();
    // dd($user);
    $authUser = $this->findOrCreateUser($user, $provider);
    // dd($authUser);
    if(Auth::login($authUser, true)){            // here is the error
      return redirect($this->redirectTo);
    }
    else{
      return 'Login not done';                 //this prints out to the screen
    }
}

public function findOrCreateUser($user, $provider)
 {
     $authUser = User::where('id', $user->id)->first();
     if ($authUser) { …
Run Code Online (Sandbox Code Playgroud)

php authentication laravel laravel-5 laravel-socialite

5
推荐指数
1
解决办法
1951
查看次数

Laravel 社交名流通过 facebook 登录导致抱歉,出了点问题

我有一个使用 facebook 登录的 laravel 项目。但经过几天的测试,当我去路线时,它说Sorry, something went wrong.。我没有触摸或修改我的代码以及我的 Facebook 开发者帐户中的应用程序。有人能告诉我发生了什么事吗?

这是我的控制器

    public function redirectToProvider(){
        $facebookScope = [
            'pages_manage_posts',
            'pages_read_engagement',
            'instagram_basic',
            'pages_show_list',
            'manage_pages',
            'publish_to_groups',
            'groups_access_member_info',
        ];
        return Socialite::driver('facebook')->scopes($facebookScope)->redirect();
    }

    public function facebook(){
        try {
            $user = Socialite::driver('facebook')->stateless()->user();
            // dd($user);
            // $this->getPages($user);
            $this->getGroups($user);
            } catch (\Exception $e) {
                return response()->json($e);
        }
    }

Run Code Online (Sandbox Code Playgroud)

路线

Route::get('/fb','FacebookController@redirectToProvider');
Route::get('/facebookAuth','FacebookController@facebook');
Run Code Online (Sandbox Code Playgroud)

我的 Facebook 应用程序 oauth 设置 在此输入图像描述

结果是什么样的

在此输入图像描述

拉拉维尔版本:6.2

名媛版:^4.4

更新:如果我删除所有范围,我可以成功登录并获取凭据和令牌。但为什么示波器不起作用?

php facebook facebook-php-sdk laravel laravel-socialite

5
推荐指数
1
解决办法
3120
查看次数

Laravel 中使用 Socialite 实现 facebook 数据删除回调

我正在实施 Facebook 数据删除回调,但我真的迷失了,我无法继续JSONFacebook 所期望的响应。

  • 返回一个 JSON 响应,其中包含用户可以在其中检查删除请求状态的 URL 和字母数字确认代码。JSON 响应具有以下形式:

{ url: '<url>', confirmation_code: '<code>' }

这就是我迷失和卡住的部分。我的问题是

  1. URL 应该做什么或显示什么。
  2. 确认码之间的逻辑是什么

到目前为止,这是我在控制器上所做的事情。

<?php

namespace App\Http\Controllers\User\Auth\Socialite;

use App\Models\User;
use Illuminate\Http\Request;

class FacebookSocialLoginController extends SocialLoginFactory
{

    public function provider(): string
    {
        return 'facebook';
    }

    public function dataDeletionCallback(Request $request)
    {
        $signed_request = $request->get('signed_request');
        $data = $this->parse_signed_request($signed_request);
        $user_id = $data['user_id'];

        // here will delete the user base on the user_id from facebook
        User::where([
            ['provider' => 'facebook'],
            ['provider_id' => $user_id]
        ])->forceDelete();

        // here will …
Run Code Online (Sandbox Code Playgroud)

php facebook laravel laravel-socialite

4
推荐指数
1
解决办法
6440
查看次数