护照身份验证在 laravel 5.3 中不起作用

     2023-03-15     19

关键词:

【中文标题】护照身份验证在 laravel 5.3 中不起作用【英文标题】:Passport authentication is not working in laravel 5.3 【发布时间】:2017-03-06 05:41:46 【问题描述】:

我已经按照此处的文档使用护照设置了 Laravel:

https://laravel.com/docs/5.3/passport.

我在 API 路由中编写了一条路由并使用邮递员发送请求 http://localhost/laravel_project/public/api/user,但它显示以下错误:

RouteCollection.php 第 161 行中的 NotFoundHttpException:

我有以下路线(在 routes/api.php 中):

Route::get('/user', function (Request $request) 
    return array(
      1 => "John",
      2 => "Mary",
      3 => "Steven"
    );
)->middleware('auth:api');

但是当我删除路线中的->middleware('auth:api') 行时,它对我来说工作正常。

我该如何解决这个问题?

另外请告诉我,如果我不想在某些路线中添加护照身份验证,我该怎么做?

【问题讨论】:

【参考方案1】:

在您的routes/api.php 中,您可以这样做:

Route::group(['middleware' => 'auth:api'], function()

    Route::get('/user', function (Request $request) 
        return array(
            1 => "John",
            2 => "Mary",
            3 => "Steven"
        );
    );

);

您在此组中定义的所有路由都将具有auth:api 中间件,因此需要通过护照身份验证才能访问它。

您可以将不需要身份验证的 api 路由放在该组之外。

编辑:为了确保路由确实存在所需的中间件,请运行php artisan route:list

【讨论】:

我仍然收到错误:RouteCollection.php 第 161 行中的 NotFoundHttpException: @okconfused 当你运行php artisan route:list 时会发生什么?路由以 api 和 auth:api 作为中间件出现在列表中?我在这条路线的项目中使用 Laravel 5.3 和护照,它对我有用。 当我运行这个命令 php artisan route:list 时,它显示了 Method: GET|HEAD, URI: api/user, Atcion: Closure and Middleware: api,auth:api 我想打通过此 url localhost/project/public/api/user 与 Header 在邮递员中的 API。 Content-Type: application/json 另外我在上面的问题中提到的 routes/api.php 中只有一个路由可能是这个问题。你能告诉我你是如何发送带有令牌的 API 请求的吗? @okconfused 也许问题出在邮递员而不是您的路线上?正如工匠所说,您的路线存在,因此您的路线定义似乎没有问题,也许是您尝试访问它的方式。 在邮递员中,当我删除它时它对我有用 ->middleware('auth:api')【参考方案2】:

我遇到了同样的问题,您似乎必须将 Accept 标头指定为 application/json,如 Matt Stauffer here 所示

一些进一步的说明:

    您的默认 Accept 标头设置为 text/html,因此 Laravel 会尝试将您重定向到 url /login 但可能您还没有完成 PHP artisan make:auth 所以它不会找到登录路径。 当您删除中间件时,它会起作用,因为您不再验证您的请求 要对某些路由进行身份验证,只需使用 Route::groupauth:api 作为中间件对它们进行分组

【讨论】:

Laravel Sanctum Token API 身份验证在 Postman 中不起作用

】LaravelSanctumTokenAPI身份验证在Postman中不起作用【英文标题】:LaravelSanctumTokenAPIAuthenticationNotWorkinginPostman【发布时间】:2020-09-2216:44:37【问题描述】:我正在尝试将Sanctum用于仅API的应用程序。我没有将它用于SPA。我有一个由Sanct... 查看详情

数据表在 Laravel 5.3 中不起作用

】数据表在Laravel5.3中不起作用【英文标题】:DataTableNotworkinginLaravel5.3【发布时间】:2017-04-1416:26:04【问题描述】:我已经列出了我视图中的所有用户如下:classUsersControllerextendsControllerpublicfunctionindex()$user=User::orderBy(\'id\',\'DESC\')... 查看详情

fromAuthHeaderAsBearerToken 在节点中不起作用

...发布时间】:2018-10-2308:54:32【问题描述】:我在Node中对护照身份验证做了以下事情。1)我正在使用jwtFromRequest:ExtractJwt.fromAuthHeaderAsBearerToken(),module.exports=f 查看详情

Laravel 5.3 Passport API 在 Postman 中使用个人访问令牌未经身份验证

】Laravel5.3PassportAPI在Postman中使用个人访问令牌未经身份验证【英文标题】:Laravel5.3PassportAPIunauthenticatedinPostmanusingpersonalaccesstokens【发布时间】:2017-02-1112:48:03【问题描述】:我已经按照此处的文档使用护照设置了Laravel:https://l... 查看详情

Sails.js 与护照-http-bearer 身份验证不起作用

】Sails.js与护照-http-bearer身份验证不起作用【英文标题】:Sails.jswithpassport-http-bearerauthenticationnotworking【发布时间】:2013-12-2816:15:28【问题描述】:我正在对护照使用多种策略(本地和不记名策略)。使用本地策略登录有效。我... 查看详情

laravel 5.3 护照和角度存储访问令牌

】laravel5.3护照和角度存储访问令牌【英文标题】:laravel5.3passportandangularstoringaccesstokens【发布时间】:2017-03-2216:56:56【问题描述】:我正在对用户进行身份验证以使用我自己的API(因此是受信任的来源)。我正在努力确定的是在... 查看详情

Windows 身份验证在 Flex 中不起作用

】Windows身份验证在Flex中不起作用【英文标题】:WindowsAuthenticationisnotworkinginFlex【发布时间】:2011-02-0223:02:00【问题描述】:我们有一种情况,即Intranet中的Web应用程序需要Windows身份验证。通过这种方式,公司的员工可以登录到... 查看详情

firebase电话身份验证在发行版中不起作用[重复]

】firebase电话身份验证在发行版中不起作用[重复]【英文标题】:firebasePhoneauthenticationisnotworkinginreleaseversion[duplicate]【发布时间】:2020-12-1914:35:38【问题描述】:我使用firebase电话身份验证不起作用,它在调试模式下工作,但是当... 查看详情

工作正则表达式在 laravel 验证中不起作用

】工作正则表达式在laravel验证中不起作用【英文标题】:Workingregexnotworkinlaravelvalidation【发布时间】:2019-03-2817:19:59【问题描述】:我有自定义正则表达式用于验证社交网站中的用户个人资料网址:/(?:https:\\/\\/)?(?:http:\\/\\/)?(?:ww... 查看详情

身份验证在 yii2 中不起作用

】身份验证在yii2中不起作用【英文标题】:Authenticationnotworkinginyii2【发布时间】:2017-08-0411:22:46【问题描述】:我有Employee表,其结构如下:EmpId名字姓用户名密码现在在应用程序组件中,我已经包含了我的自定义类,如下所示... 查看详情

WCF 配置/身份验证在 Azure 中不起作用

】WCF配置/身份验证在Azure中不起作用【英文标题】:WCFconfiguration/authenticationnotworkinginAzure【发布时间】:2018-04-1508:15:45【问题描述】:我正在尝试调用具有Windows身份验证的外部服务,它可以在我在IIS中运行的Windows开发机器上正... 查看详情

身份验证在 FirebaseStorage Flutter 中不起作用

】身份验证在FirebaseStorageFlutter中不起作用【英文标题】:AuthnotworkinginFirebaseStorageFlutter【发布时间】:2020-02-0915:07:07【问题描述】:我正在尝试将图片上传到Flutter应用中的Firebase存储。我得到的错误信息是用户没有上传权限。在... 查看详情

Laravel 验证“存在”在主从数据库配置中不起作用?

】Laravel验证“存在”在主从数据库配置中不起作用?【英文标题】:Laravelvalidation\'exist\'notworkinginmaster-slaveDBconfiguration?【发布时间】:2019-11-1013:31:50【问题描述】:我将项目移动到主从配置并遇到问题,与DB相关的验证停止为我... 查看详情

文本区域验证最大规则在 laravel 6 中不起作用

】文本区域验证最大规则在laravel6中不起作用【英文标题】:Textareavalidationmaxrulenotworkinginlaravel6【发布时间】:2020-04-1820:56:17【问题描述】:我尝试在textarea中使用设置为2000的max规则,但我输入了超过2000个字符,验证不适用于其... 查看详情

十六进制代码验证在laravel中不起作用[重复]

】十六进制代码验证在laravel中不起作用[重复]【英文标题】:Hexcodevalidationnotworkinginlaravel[duplicate]【发布时间】:2019-05-0207:27:00【问题描述】:我想验证颜色输入字段。我想使用正则表达式检查输入值是否为十六进制颜色。\'icon_... 查看详情

Spring Security Filter 测试,身份验证在 POSTMAN 中不起作用

】SpringSecurityFilter测试,身份验证在POSTMAN中不起作用【英文标题】:SpringSecurityFiltertest,authentificationnotworkinginPOSTMAN【发布时间】:2020-06-0606:22:20【问题描述】:我正在尝试检查尝试身份验证是否正常工作,但在邮递员中但我得到... 查看详情

使用电子邮件进行身份验证时,NestJS 护照身份验证返回 401

】使用电子邮件进行身份验证时,NestJS护照身份验证返回401【英文标题】:NestJSpassportauthenticationreturns401whenusingemailforauthentication【发布时间】:2020-07-1821:15:03【问题描述】:我有一个似乎并不罕见的问题,但我找到的解决方案在... 查看详情

Cookie 持久性在 OWIN 身份验证中不起作用

】Cookie持久性在OWIN身份验证中不起作用【英文标题】:CookiepersistencenotworkinginOWINauthentication【发布时间】:2020-03-1910:15:14【问题描述】:我正在开发一个使用OWIN身份验证系统(Microsoft.Owinv4.1.0通过NuGet)的MVC5网站。我根据数据库... 查看详情