我被一个真正烦人的问题困住了。我在一个虚拟盒子里做了一些Laravel的实验,现在我觉得我的应用程序已经准备好在我的服务器上运行了。因此,我将整个项目上传到我的服务器,并授予存储和引导/缓存文件夹的权限。Laravel社交站从本地环境中移动后破了
我使用Socialite for Twitch来验证用户身份。我添加了所有必需的东西,如(密钥,秘密和NEW重定向url)到.env文件中,并且我还在我的twitch应用程序设置中更改了重定向url。无论出于何种原因,我无法再登录。我总是得到以下错误。
(1|1) InvalidStateException
in AbstractProvider.php (line 32)
at AbstractProvider->user()
in TwitchAuthController.php (line 34)
at TwitchAuthController->handleProviderCallback()
at call_user_func_array(array(object(TwitchAuthController), 'handleProviderCallback'), array())
in Controller.php (line 55)
TwitchAuthController.php线34看起来是这样的,这也正是所有坏的事情开始发生,P
$user = Socialite::driver('twitch')->user();
我还是从我发展Deng,并同步在我的虚框项目与我的“真实”的服务器,所以这意味着这两个项目(虚拟箱和服务器)是完全一样的。只要我将.env文件中的重定向url和twitch设置中的重定向url更改回虚拟盒子ip,登录就会再次正常工作。我不知道为什么它的功能完美无瑕,但当我调整我的服务器设置时却不行。
可能它与“SESSION_DOMAIN”env有些共同点。
我改变了一个:
SESSION_DOMAIN=http://example.com
它仍然得到了同样的错误,所以我改回重定向的URL:
TWITCH_REDIRECT_URI=http://1.2.3.4/twitch/callback
,也改变了抽搐API站点的URL本身。之后,我尝试了一下,并得到了我在现场制作网络服务器上遇到的同样的错误。所以我完全从.env中删除了SESSION_DOMAIN,并开始在我的虚拟盒子上再次运行。不知何故,这似乎与我猜想的会话有关。仍然不知道为什么我的虚拟盒子上完全相同的克隆完美地工作,虽然它不在我的实时Web服务器事件上工作,尽管代码完全一样,唯一的区别是我必须为每个设置调整重定向URL。
没有人知道吗?
最佳
最佳汤姆
嗨,我做到了。这就是我的意思“...也改变了抽搐api网站本身的URL。” – wordiboi