laravel 用户取消时出现社交名流错误

laravel socialite error when user cancels

我正在创建一个 laravel 5 应用程序,它具有入站社交身份验证,现在我拥有获取用户、注册或登录(如果用户存在)的所有代码,一切正常。问题是当用户不同意通过社交提供商登录我的应用程序(例如,按取消按钮)时,有人知道如何处理。

现在,如果我在社交登录 window 上按下取消按钮,则会抛出 400 客户端错误。

提前致谢

您可以使用 try-catch。将所有 login/registration 代码移入 try 块和 catch 块内,将用户重定向到登录页面并显示适当的消息

错误出现是因为它将您重定向到 URL 中没有代码参数的回调函数,这就是显示异常的原因。您可以通过在回调函数中添加检查来解决它,如下所示:

if (!$request->has('code') || $request->has('denied')) {
 return redirect('/signin');
}