【发布时间】:2020-09-30 11:30:48
【问题描述】:
我有一个电子邮件验证方法,当我注册用户时它正常发送电子邮件,我想测试路由email/verify/{id},当用户单击验证链接时触发,但我遇到了邮递员问题请求,它说我发送授权令牌时签名无效,如果我删除它会引发不同的错误(403,未授权)
我的路线
Route::prefix('auth')->group(function () {
Route::group(['middleware'=>'auth:api'], function(){
Route::get('user', 'Auth\AuthController@user');
Route::get('email/verify/{id}', 'Auth\VerificationController@verify')->name('verification.verify');
Route::get('email/resend', 'Auth\VerificationController@resend');
});
});
验证控制器
public function verify(Request $request){
if ($request->route('id') == $request->user()->getKey() &&
$request->user()->markEmailAsVerified()){
event (new Verified($request->user()));
}
return response()->json('verified');
}
public function resend(Request $request){
if ($request->user()->hasVerifiedEmail()){
return response()->json('already_verified', 422);
}
$request->user()->sendEmailVerificationNotification();
return response()->json([
'notified'
]);
}
public function __construct(){
$this->middleware('auth:api');
$this->middleware('signed')->only('verify');
$this->middleware('throttle:6,1')->only('verify', 'resend');
}
我不知道是我做错了请求还是我的代码有问题。有什么线索吗?
【问题讨论】: