我正尝试添加用户只通过注册一个唯一的网址。
问题是register函数中的hasValidSignature()总是返回false,无论我是直接从/register还是生成的url进入。
我的寄存器控制器:
public function register(Request $request) {
dump($request);
dump($request->_token);
dd($request->hasValidSignature());
abort_unless($request->hasValidSignature(), 403, 'That link has expired or is no longer valid!');
}
我的索引,我在其中生成用于注册的唯一URL:
public function index()
{
Gate::authorize('admin-level');
$users = User::where('admin', '0')->get();
$url = URL::temporarySignedRoute(
'register',
now()->addMinutes(30)
);
return view('backend/user/index', ['users' => $users], ['url' => $url]);
}
或者只生成url:
$url = URL::temporarySignedRoute(
'register',
now()->addMinutes(30)
);
所有的事情都像文档里一样,这就是为什么我对这个很生气。我能做些什么来使网址更好。
要么是我的hasValidSignature有问题(我从来没有更改过)
或者我的网址。
我尝试了许多不同的方法,结果总是一样。
有趣的是,它在实施后就起作用了,现在却没有了。
我用php artisan ui:auth
重新制作了所有的auth。除非使用hasValidSignature,否则整个注册工作正常。
我的用户只能从唯一的网址注册,我不能绕过这一点。
1条答案
按热度按时间jjhzyzn01#
有时查询中还包括其他参数...
因此,您必须忽略它们: