i use Laravel passport for auth

路由api.php

Route::get('/todos', function(){
  return 'hello';
})->middleware('auth:api');

但是当打开localhost:8000/api/todos时,我看到了以下错误

 InvalidArgumentException
Route [login] not defined.
 * @return string
 *
 * @throws \InvalidArgumentException
 */
public function route($name, $parameters = [], $absolute = true)
{
    if (! is_null($route = $this->routes->getByName($name))) {
        return $this->toRoute($route, $parameters, $absolute);
    }

    throw new InvalidArgumentException("Route [{$name}] not defined.");
}

/**
 * Get the URL for a given route instance.
 *
 * @param  \Illuminate\Routing\Route  $route
 * @param  mixed  $parameters
 * @param  bool   $absolute
 * @return string
 *
 * @throws \Illuminate\Routing\Exceptions\UrlGenerationException
 */
protected function toRoute($route, $parameters, $absolute)
{
    return $this->routeUrl()->to(
        $route, $this->formatParameters($p

我想知道用户是否未通过身份验证

推荐答案

您是否直接在浏览器搜索栏中输入了上述URL?

判断任一请求是否包含令牌,或者不制作您自己的中间件.

Command to create Middleware

php artisan make:middleware CheckApiToken

https://laravel.com/docs/5.6/middleware

change middleware handle method to

public function handle($request, Closure $next)
{
    if(!empty(trim($request->input('api_token')))){

        $is_exists = User::where('id' , Auth::guard('api')->id())->exists();
        if($is_exists){
            return $next($request);
        }
    }
        return response()->json('Invalid Token', 401);
}

这样地

http://localhost:8000/api/todos?api_token=API_TOKEN_HERE

Laravel相关问答推荐

@vite指令在使用laravel vite构建后导致错误

CKEditor在laravel中的p标记之前和之后添加额外的p标记

用Laravel Filament创建变形组件

当两个外键都在同一个表上时创建直通关系

assertSee 由于 html 代码中的空格而失败

从主类别模型 laravel 中获取子类别翻译

如何为 CMP 横幅安装谷歌同意脚本?

Laravel 5.3:语法错误或访问冲突:1463 HAVING 子句中使用了非分组字段距离

在 apache docker 容器中运行虚拟主机

Laravel 价格验证只接受正数而不是 0

磁盘 [视频] 没有配置的驱动程序

合并两个 Eloquent 集合并删除所有重复项.

未找到 PHP 5.4 和 Laravel 类Memcached

Laravel Passport Route [login] 未定义

在 Laravel Eloquent 中,limit 与 take 有什么区别?

升级到 Laravel 5.2 会使所有会话失效

Laravel 5 - 为包创建 Artisan 命令

控制器外部的 Laravel 访问请求对象

基于日期的 Laravel 日志(log)文件

错误:找不到模块 'webpack/lib/rules/DescriptionDataMatcherRulePlugin' 需要堆栈: