【问题标题】:Laravel api authentication using passport is not working使用护照的 Laravel api 身份验证不起作用
【发布时间】:2019-09-15 10:57:39
【问题描述】:

我正在尝试使用 laravel 护照验证我的 api。为此,我正在使用 laravel 护照的 Consuming Your API With JavaScript。这就是为什么我将 \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class, 粘贴到我的 app/Http/karnel.php/web 并添加了一个我的控制器的构造函数像

`

     public function __construct(){
         $this->middleware('auth:api');
     }

`

Karnel.php

`

   'web' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        // \Illuminate\Session\Middleware\AuthenticateSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        \App\Http\Middleware\VerifyCsrfToken::class,
        \Illuminate\Routing\Middleware\SubstituteBindings::class,
        \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,
    ],

`

如果我已登录但由于错误Route [login] not defined

,它应该可以正常工作

注意:我使用 vue.js 作为前端,使用 laravel 作为后端

【问题讨论】:

    标签: laravel vue.js


    【解决方案1】:

    路由 [登录名] 未定义

    这仅仅意味着route('login') 没有在您的routes.php 文件中定义。

    如果您尝试在未登录的情况下访问经过身份验证的 url,那么它会自动将您重定向到定义的 route('login') 路由。

    那是因为 auth 中间件。您可以在app/Http/Middlware/Authenticate.php 文件中找到它。

    【讨论】:

    • 我想重定向到vue js与laravel集成创建的登录页面。我该如何解决?
    • 你能分享你的 kernel.php 文件吗?特别是'web'=>[....] 部分
    • 查看更新注意:我使用vuejs作为前端,laravel作为后端
    猜你喜欢
    • 2017-03-06
    • 2015-08-21
    • 2019-06-14
    • 2016-10-29
    • 2019-05-21
    • 2018-10-03
    • 2013-06-25
    • 1970-01-01
    • 2018-06-16
    相关资源
    最近更新 更多