Laravel 5.6 护照 API 身份验证在获取请求中不起作用

     2023-03-15     101

关键词:

【中文标题】Laravel 5.6 护照 API 身份验证在获取请求中不起作用【英文标题】:Laravel 5.6 passport api authentication not working in get request 【发布时间】:2018-10-03 09:12:00 【问题描述】:

我正在制作单页应用程序,在处理 get 请求时,我已经通过了 X-CSRF-TOKENX-Requested-With 标头。我还将 \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class 包含在 Web 中间件组中。 我在 api.php 中的路线看起来像

Route::get('categories','Api\Categories@index')->middleware('auth:api');

但请求指定的 url 显示未经身份验证的消息。

【问题讨论】:

您是否使用身份验证参数创建了获取请求? 您是否在 config/auth.php 文件中将 API 身份验证驱动程序设置为 passport 发送授权标头'Bearer token 您认为提供的答案中是否有某些内容无法解决您的问题?如果是这样,请对答案发表评论,以澄清究竟需要解决哪些尚未解决的问题。如果它解决了您的问题,那么Accept Answers 【参考方案1】:

在请求中发送授权头

Authorization: Bearer eYz-your-passport-generated-token

【讨论】:

【参考方案2】:

不久前我遇到了完全相同的问题。这就是我为修复它所做的,更多细节在这篇文章中:https://github.com/laravel/passport/issues/47

所以这通常是为了修复 oAuth 客户端令牌:在 Passport.php 第 167 行中,到期日期设置为现在 + 100 年。

return static::$tokensExpireAt? Carbon::now()->diff(static::$tokensExpireAt): new DateInterval('P100Y');

如果您将其设置为,即 P1Y,则它正在工作。比如:

return static::$tokensExpireAt? Carbon::now()->diff(static::$tokensExpireAt): new DateInterval('P1Y');

下面几行刷新令牌也是如此:

return static::$refreshTokensExpireAt? Carbon::now()->diff(static::$refreshTokensExpireAt): new DateInterval('P1Y');

这是针对个人令牌的:以及 PassportServiceProvider.php 第 84 行,关于个人令牌:

$server->enableGrantType(new PersonalAccessGrant, new DateInterval('P1Y'));

Hope it helps ! :)

【讨论】:

使用外部 Laravel 护照流明 api 进行 Laravel 客户端身份验证

】使用外部Laravel护照流明api进行Laravel客户端身份验证【英文标题】:LaravelclientauthentificationwithexternalLaravelpassportlumenapi【发布时间】:2020-03-2509:38:51【问题描述】:我一直在网上寻找,但我找不到任何方法。让我解释一下,我有... 查看详情

身份验证用户提供程序 [passport] 未使用 laravel 护照定义

】身份验证用户提供程序[passport]未使用laravel护照定义【英文标题】:Authenticationuserprovider[passport]isnotdefinedwithlaravelpassport【发布时间】:2019-03-2710:05:28【问题描述】:我在laravel中有一个api,我使用护照进行身份验证。在我的confi... 查看详情

laravel 护照未经身份验证返回

】laravel护照未经身份验证返回【英文标题】:laravelpassportreturnsunauthenticated【发布时间】:2017-04-2419:21:32【问题描述】:我正在创建一个使用Passport来管理身份验证的api。我已经用thedocs设置了Passport。问题我无法登录。我不断收... 查看详情

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

】护照身份验证在laravel5.3中不起作用【英文标题】:Passportauthenticationisnotworkinginlaravel5.3【发布时间】:2017-03-0605:41:46【问题描述】:我已经按照此处的文档使用护照设置了Laravel:https://laravel.com/docs/5.3/passport.我在API路由中编写... 查看详情

减少对外部 API 的身份验证调用(Laravel 5.6)

】减少对外部API的身份验证调用(Laravel5.6)【英文标题】:ReducingauthenticationcallsonexternalAPI(Laravel5.6)【发布时间】:2019-01-1711:18:10【问题描述】:我的应用需要从外部API收集数据。我正在使用Guzzle。我的API方法被写入存储在库文... 查看详情

Laravel 5.6 上的 Ajax 身份验证重定向

】Laravel5.6上的Ajax身份验证重定向【英文标题】:AjaxAuthredirectonLaravel5.6【发布时间】:2018-11-2504:24:50【问题描述】:我有一个触发AjaxPost的Like按钮,该路由受auth:api中间件保护:我的项目/路由/api.phpRoute::group([\'middleware\'=>[\'auth... 查看详情

如何在 laravel 护照中实现多身份验证

】如何在laravel护照中实现多身份验证【英文标题】:howtoimplementmultiauthinlaravelpassport【发布时间】:2018-09-0120:51:57【问题描述】:我有两个用户admin/user我想验证这两个用户的api,它适用于一个用户,但不适用于管理员看看我尝试... 查看详情

使用身份验证护照系统覆盖 laravel 中 apis url 的身份验证重定向

】使用身份验证护照系统覆盖laravel中apisurl的身份验证重定向【英文标题】:Overrideauthredirectionofapisurlinlaravelwithauthpassportsystem【发布时间】:2018-11-0601:17:27【问题描述】:我创建了一些运行良好的api。现在,当有人点击在Web浏览... 查看详情

Laravel 5.6 - Passport JWT httponly cookie SPA 身份验证用于自用 API?

】Laravel5.6-PassportJWThttponlycookieSPA身份验证用于自用API?【英文标题】:Laravel5.6-PassportJWThttponlycookieSPAauthenticationforselfconsumingAPI?【发布时间】:2019-05-0917:18:25【问题描述】:注意:我在这个问题上获得了4个赏金,但以下投票支持... 查看详情

Laravel 通过生成的令牌进行身份验证,无需护照和 jwt

】Laravel通过生成的令牌进行身份验证,无需护照和jwt【英文标题】:Laravelauthbygeneratedtokenwithoutpassportandjwt【发布时间】:2018-05-2810:12:09【问题描述】:我正在尝试通过在laravel5.5中使用md5加密方法从登录用户的用户名中检查生成... 查看详情

错误状态 401 错误未经身份验证的 laravel 护照

】错误状态401错误未经身份验证的laravel护照【英文标题】:errorstatus401errorunauthenticatedlaravelpassport【发布时间】:2019-03-0807:26:54【问题描述】:这是我第一次使用laravel护照这是我的config/auth.php\'guards\'=>[\'web\'=>[\'driver\'=>\'se... 查看详情

Laravel 护照刷新令牌

】Laravel护照刷新令牌【英文标题】:Laravelpassportrefreshtoken【发布时间】:2019-05-1510:18:56【问题描述】:我正在使用Laravel5.5版,使用Passport进行身份验证。我已成功创建令牌并可以使用auth:api中间件访问它。但每当用户登录系统时... 查看详情

如何在节点/套接字应用程序中验证 laravel 护照 API 令牌?

】如何在节点/套接字应用程序中验证laravel护照API令牌?【英文标题】:Howtoverifylaravelpassportapitokeninnode/socketapplication?【发布时间】:2018-10-2602:36:09【问题描述】:我的问题是关于laravel应用程序中的OAuth护照令牌,它也使用套接... 查看详情

我如何测试 Laravel 护照 API 端点

】我如何测试Laravel护照API端点【英文标题】:HowdoitestLaravelpassportAPIendpoints【发布时间】:2019-09-1500:25:55【问题描述】:所以我想对我的API端点进行单元测试。我正在使用Laravel5.8,api身份验证是通过Passport完成的我有以下测试:p... 查看详情

如何在 laravel 中进行前端 api 身份验证

】如何在laravel中进行前端api身份验证【英文标题】:howtomakefrontendapiauthenticationinlaravel【发布时间】:2019-02-0710:17:25【问题描述】:我在Laravel中使用护照包创建了一个API身份验证系统。当用户每次登录时创建个人访问令牌以及注... 查看详情

Laravel 护照授权令牌在生成新令牌时过期

】Laravel护照授权令牌在生成新令牌时过期【英文标题】:LaravelpassportAuthorizationtokenexpireongeneratingnewtoken【发布时间】:2018-04-1108:21:40【问题描述】:我正在使用laravel5.5和API路由的护照身份验证。我正在使用不记名令牌。问题是... 查看详情

获取经过身份验证的用户 Laravel/Lumen Passport

】获取经过身份验证的用户Laravel/LumenPassport【英文标题】:GetAuthenticatedUserLaravel/LumenPassport【发布时间】:2018-05-0412:54:31【问题描述】:我正在使用lumen构建我的api和护照以进行api身份验证。我的用户信息都记录在用户表中,而... 查看详情

混淆 Laravel 护照 API 安全性的工作原理

】混淆Laravel护照API安全性的工作原理【英文标题】:ConfusinghowLaravelpassportAPIsecurityworks【发布时间】:2018-09-1502:31:35【问题描述】:客户端向服务器发送用户名和密码。服务器然后检查此用户是否已通过身份验证。如果是,则服... 查看详情