[英]Laravel: Token Mismatch Exception only on iOS (iPhone & iPad)
我在移动设备(特别是iOS)上遇到一些问题,当我登录我的应用或在具有令牌的表单上搜索某些内容时,在filters.php第88行上出现了Illuminate \\ Session \\ TokenMismatchException
Route::filter('csrf', function() {
if(Session::token() !== Input::get('_token')) {
throw new Illuminate\Session\TokenMismatchException;
}
});
在控制器上登录的代码:
$auth = Auth::attempt(array(
'email' => Input::get('username'),
'password' => Input::get('password')
), true);
if($auth){
# Redirect to intended page
return Redirect::intended('/dashboard');
} else {
return Redirect::route('signin')
->with('global-error','Incorrect email or password.');
}
HTML页面上的表单标签代码:
<form method="post" action="{{ URL::route('signin-post') }}">
<!-- Token is echoed like this: -->
{{ Form::token() }}
有什么办法可以解决这个问题? 如果我删除该过滤器,则可以在PC和Android设备上完美运行,如果它可以在iOS上完美运行,否则会出现异常。
额外细节:
提前致谢
这是因为Safari阻止了cookie。 设置它允许cookie,它将起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.