If you need public URL but you want them to be secured, use Laravel signed URL
class AccountController extends Controller{    public function destroy(Request $request)    {        $confirmDeleteUrl = URL::signedRoute('confirm-destroy', [            $user => $request->user()        ]);        // Send link by email...    }     public function confirmDestroy(Request $request, User $user)    {        if (! $request->hasValidSignature()) {            abort(403);        }         // User confirmed by clicking on the email        $user->delete();         return redirect()->route('home');    }}
Tip given by @anwar_nairi