Laravel 5.6 护照未经身份验证

     2023-02-22     109

关键词:

【中文标题】Laravel 5.6 护照未经身份验证【英文标题】:Laravel 5.6 Passport Unauthenticated 【发布时间】:2019-02-28 23:32:57 【问题描述】:

我关注了 Laravel 官方文档以及以下文章 https://medium.com/techcompose/create-rest-api-in-laravel-with-authentication-using-passport-133a1678a876

注册工作正常并返回令牌 登录工作正常并返回令牌 但是当我使用它时,得到未经身份验证。

curl -X POST \
  http://api.local/api/details \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjY0YmE0ZTUxMzBhYWQwYzdmZWVkODRhYTZhNzI4YjE2YjE1NWJhYzA0YmQwMmIxYWZjMGU3NTVjYzk1Y2QwYzY3ZWMzNTRlNzA1MTg0YjY4In0.eyJhdWQiOiIxIiwianRpIjoiNjRiYTRlNTEzMGFhZDBjN2ZlZWQ4NGFhNmE3MjhiMTZiMTU1YmFjMDRiZDAyYjFhZmMwZTc1NWNjOTVjZDBjNjdlYzM1NGU3MDUxODRiNjgiLCJpYXQiOjE1Mzc4NzIxNjcsIm5iZiI6MTUzNzg3MjE2NywiZXhwIjoxNTY5NDA4MTY3LCJzdWIiOiIwIiwic2NvcGVzIjpbXX0.GHGKOiWm_8gr4Hib0ZtCq_FdQSDAntPl2zPIHkkTfTien1PHCoE79S7MdZRdEhjxt5Ds5E2JXhajfa9rDfiXHzKGtmzcRD_VYYxKnWupnhiMlJeHJsmXaWKLjYIw3InQYZtV_cYdcXlYWTDWcCOR1Xr7ezkYECz16oOumtgarPxVRZTHehpj4WiRDDgB4VTRZiRfsHYxMruh55wuT8OkbUAOalRaqwwxfplLYwdfTAcu4vUdwPfswu2_eZ6l1b_8Jd8Jsk5niXROQ7pIAL1oYX0V_HbNz9YkrlbiZN-w9FoM3fMZpYL7hcg1Jcocd7dGPUkcGaMOMjjcRuj5XAKEJOZbQlxs0n5wo4W3Sz11bnO4dRetTj9hyF97QDoaHFduPj4tnn6lItRbBGjQTGy_5qNlckhXxRYTlsYUZ6oNUUU2bUV_hBdklYRCtWgY1DY-Ds0DVhuujea9_u0w0swDwRh5VlV_gQaKEO0sEv-fzg_23UdPpfHgaG8-NHTYs5LsRSNS1iz4hpXuTjZzUOBsAk_k-V13wjeeXElLxy2PgN5s87IVJPEvDtd5F89PjzvaDHM5wsYwmUlnCnzBa8ZEtG8Wj62qBY_RooBmSNzWlT62SpJDbs25GaWOf8y7EtuICcuaOg7bMoGICKJc4GmkK_ltk-M7WieJD95InnWBJ-E'

返回


    "error": "Unauthenticated."

路线:

Route::post('login', 'API\UserController@login');
Route::post('register', 'API\UserController@register');
Route::group(['middleware' => 'auth:api'], function()
    Route::post('details', 'API\UserController@details');
);

AuthServiceProvider:

public function boot()

    $this->registerPolicies();
    Passport::routes();
    Passport::tokensExpireIn(Carbon::now()->addYear(21));
    Passport::refreshTokensExpireIn(Carbon::now()->addYear(30));

配置/auth.php

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
        'driver' => 'passport',
        'provider' => 'users',
    ],
],

代币:

任何想法,为什么 /details 请求没有通过有效令牌进行验证事件传递?

【问题讨论】:

在您的帖子中尝试使用您的令牌和Authorization: Bearer TokenHeaders: Accept = application/json 我附上了带有标题的post请求的屏幕截图,我在那里做错了吗? 你试过GET方法而不是POST 是的,一样 【参考方案1】:

我觉得那里的一切都很好。我唯一可以建议的是您需要将以下内容添加到您的 .htaccess 重写规则中(假设您使用的是 apache)。

# Handle Authorization Header
RewriteCond %HTTP:Authorization .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%HTTP:Authorization]

对于 nginx 你可以试试

proxy_set_header HTTP_AUTHORIZATION $http_authorization;

另外,我刚刚注意到您的 oauth_access_tokens 行不包含用户 ID。

确保您的登录名具有以下内容:

if(Auth::attempt(['email' => request('email'), 'password' => request('password')])) 
    $user = Auth::user();
    $token =  $user->createToken('MyApp')->accessToken;
    $status = 200;

else
    $error = "Unauthorised";
    $status = 401;

return your json response

【讨论】:

感谢您的回复,我在 Homestead 上使用 Nginx,那会是什么设置? 我已经更新了我对 nginx 的回答,也许你可以试试 谢谢,即使更新了 Nginx 站点,问题仍然存在。 好的。检查您的登录方法并确保您在访问令牌中获得了用户 ID。 您的回答引导我正确调试,即使我在 oauth_access_tokens 中有用户 ID,但它是整数,因为我在我的项目中使用 UUID,这就是发生此问题的原因。我还必须在 Laravel Passport 迁移中实现 UUID。现在它的工作。谢谢

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

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

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

】Laravel5.6护照API身份验证在获取请求中不起作用【英文标题】:Laravel5.6passportapiauthenticationnotworkingingetrequest【发布时间】:2018-10-0309:12:00【问题描述】:我正在制作单页应用程序,在处理get请求时,我已经通过了X-CSRF-TOKEN和X-Req... 查看详情

用户未经授权时的 Laravel 护照自定义错误消息和状态码

】用户未经授权时的Laravel护照自定义错误消息和状态码【英文标题】:Laravelpassportcustomerrormessageandstatuscodewhenuserunauthorized【发布时间】:2018-06-0921:20:45【问题描述】:我的项目在Laravel5.4上运行,我使用passport通过带有bearertoken的... 查看详情

laravel 6护照中未经授权的401错误

】laravel6护照中未经授权的401错误【英文标题】:Unauthorized401errorinlaravel6passport【发布时间】:2021-11-3013:58:54【问题描述】:我正在尝试使用laravel护照对用户进行身份验证。我遵循laravel护照文件中的每一步。但是当我访问受“aut... 查看详情

Laravel 护照 oauth 路线总是返回 401 未经授权

】Laravel护照oauth路线总是返回401未经授权【英文标题】:Laravelpassportoauthroutesalwaysreturn401unauthorized【发布时间】:2018-11-0306:13:17【问题描述】:我尝试使用护照实施oauth身份验证,但无法按预期工作。我想让我的api与简单的jwt一... 查看详情

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

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

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

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

使用 JWT 进行护照身份验证:如何将护照的默认未经授权响应更改为我的自定义响应?

】使用JWT进行护照身份验证:如何将护照的默认未经授权响应更改为我的自定义响应?【英文标题】:PassportauthenticationwithJWT:HowcanIchangepassport\'sdefaultunauthorizedresponsetomycustomresponse?【发布时间】:2019-05-3020:08:26【问题描述】:我... 查看详情

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

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

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

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

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

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

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

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

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

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

Laravel 未经身份验证无触发

】Laravel未经身份验证无触发【英文标题】:Laravelunauthenticatednotriggering【发布时间】:2018-04-2619:14:40【问题描述】:我正在使用rappasoft/laravel-5-boilerplate。有一个奇怪的问题,我在路由中使用“auth”中间件。测试对需要登录的页... 查看详情

Laravel sanctum 未经身份验证

】Laravelsanctum未经身份验证【英文标题】:Laravelsanctumunauthenticated【发布时间】:2020-07-0515:53:27【问题描述】:我在我的项目中使用Laravelsanctum以angular作为前端。从第二个api请求中获取未经身份验证。请让我知道我哪里出错了前... 查看详情

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

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

未经身份验证的 api laravel 子域

】未经身份验证的apilaravel子域【英文标题】:Unauthenticatedapilaravelsubdomain【发布时间】:2020-11-1512:50:39【问题描述】:我遇到ajaxapilaravel问题未经身份验证。请帮帮我Api:http://localhost/api/v1/verify/telephone/send_code->错误Api:http://selle... 查看详情

Laravel 5.3 + Passport:总是未经身份验证的错误

】Laravel5.3+Passport:总是未经身份验证的错误【英文标题】:Laravel5.3+Passport:alwaysunauthenticatederror【发布时间】:2017-09-0104:48:45【问题描述】:在我当前的项目中使用Passport时,我总是收到“未经身份验证的错误”。这就是我过去3... 查看详情