Auth :: user()没有进行重定向

时间:2018-02-07 12:25:06

标签: php laravel slack-api laravel-socialite

所以目前我正在使用Laravel Socialite加入两个API服务。两者都可以自行完成。

我想这样做,这样您就可以使用'添加到Slack'按钮登录,它会将Slack详细信息存储在var binding = BindingOperations.GetBinding(textBox, TextBox.TextProperty); 表中,而无需费心存储名称,电子邮件地址,密码等内容到目前为止,我的架构看起来像这样:

  • ID
  • slack_user_id
  • slack_access_token
  • slack_team_name
  • slack_team_id
  • slack_bot_user_id
  • slack_bot_access_token
  • 第二个API的其他字段

我保存用户,然后手动对其进行身份验证,并将其重定向到仪表板,如下所示:

users

然后我提示他们连接到下一个服务。 OAuth流自身运行良好,但我想用新的详细信息更新登录用户。我的代码如下所示:

  Auth::loginUsingId($user->id, true);
  return redirect('home');

由于无法通过 $id = Auth::user()->id; $user = User::findOrFail($id); //Save fields to the user $user->save(); return redirect('/home'); 找到用户,因此无法正常工作。我试图转储当前的Auth对象,但它返回null。

这在重定向到OAuth提供程序之前工作正常,但看起来它正在中断会话。我目前正在使用Auth::user()作为我的会话驱动程序,但也尝试使用file

第二个API代码的示例代码:

cookie

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

确保路由正在通过身份验证中间件......类似这样的

Route::middleware( [ 'auth' ] )->group( function () {
    Route::get( '/home', 'SomeController@someFunction' );
} );