【问题标题】:Laravel 5.3 OAuth2 NotFoundHttpExceptionLaravel 5.3 OAuth2 NotFoundHttpException
【发布时间】:2017-03-12 18:17:55
【问题描述】:

我将 laravel/passport 安装到 Laravel 5.3 中。

授权和请求令牌工作正常,但是当我添加 middleware('auth:api') 时,我收到此错误:

NotFoundHttpException in RouteCollection.php line 161

看这里:

Route::get('test', function(){
    echo "hello world";
})->middleware('auth:api');

没有中间件也可以正常工作。

文件配置\auth.php

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

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

文件:config\app.php

'providers' => [

    /*
     * Laravel Framework Service Providers...
     */
    Illuminate\Auth\AuthServiceProvider::class,
    Illuminate\Broadcasting\BroadcastServiceProvider::class,
    Illuminate\Bus\BusServiceProvider::class,
    Illuminate\Cache\CacheServiceProvider::class,
    Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
    Illuminate\Cookie\CookieServiceProvider::class,
    Illuminate\Database\DatabaseServiceProvider::class,
    Illuminate\Encryption\EncryptionServiceProvider::class,
    Illuminate\Filesystem\FilesystemServiceProvider::class,
    Illuminate\Foundation\Providers\FoundationServiceProvider::class,
    Illuminate\Hashing\HashServiceProvider::class,
    Illuminate\Mail\MailServiceProvider::class,
    Illuminate\Notifications\NotificationServiceProvider::class,
    Illuminate\Pagination\PaginationServiceProvider::class,
    Illuminate\Pipeline\PipelineServiceProvider::class,
    Illuminate\Queue\QueueServiceProvider::class,
    Illuminate\Redis\RedisServiceProvider::class,
    Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
    Illuminate\Session\SessionServiceProvider::class,
    Illuminate\Translation\TranslationServiceProvider::class,
    Illuminate\Validation\ValidationServiceProvider::class,
    Illuminate\View\ViewServiceProvider::class,
    Laravel\Passport\PassportServiceProvider::class,

文件:app\Http\AuthServiceProvider.php

<?php

namespace App\Providers;

use Laravel\Passport\Passport;
use Illuminate\Support\Facades\Gate;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;

class AuthServiceProvider extends ServiceProvider
{
    /**
     * The policy mappings for the application.
     *
     * @var array
     */
    protected $policies = [
        'App\Model' => 'App\Policies\ModelPolicy',
    ];

    /**
     * Register any authentication / authorization services.
     *
     * @return void
     */
    public function boot()
    {
        $this->registerPolicies();

       // $this->mapWebRoutes();

        //$this->mapApiRoutes();
        //
        Passport::routes();        
    }
}

【问题讨论】:

  • 首先..你能确认你在api.php路由文件中添加了你的路由吗?

标签: php laravel oauth-2.0 laravel-passport


【解决方案1】:

嘿,我也有同样的问题,解决方案是你的路由应该是“api/user”而不是“/user”,因为它是

【讨论】:

    猜你喜欢
    • 2017-01-23
    • 2017-08-10
    • 1970-01-01
    • 2017-01-10
    • 2017-02-01
    • 1970-01-01
    • 2017-08-02
    • 2016-12-02
    • 1970-01-01
    相关资源
    最近更新 更多