1

カスタム Laravel パッケージで Laravel/Sanctum を使用しようとしています。デフォルトの Laravel アプリケーションと同様に、composer ファイルに追加し、migration を追加して、routes ファイルに設定しました。

次のエラー メッセージが表示されます。

「認証ガード【聖域】が定義されていません。」

聖域を別のパッケージで使用することさえ可能だと思いますか?

Composer.json ファイル:

"require": {
    "php": "7.4.*",
    "laravel/sanctum": "^2.2"
  },

ルートファイル:

Route::group(['middleware' => 'auth:sanctum'], function () {
Route::post('/approve', ['uses' => 'MemberRequestController@response', 'response' => 'approve'])->name('approve_member_request');
}

サービスプロバイダー

/**
     *
     */
    private function registerRoutes()
    {
        Route::group($this->routeConfig(), function () {
            $this->loadRoutesFrom(__DIR__ . '/../../routes/api.php');
        });
    }

    /**
     * @return string[]
     */
    private function routeConfig(): array
    {
        return [
            'prefix' => ums::path(),
            'namespace' => 'martijn\UMS\Http\Controllers',
            'middleware' => ['api', 'auth:sanctum']
        ];
    }
4

4 に答える 4

0

ホストの DirectAdmin で、ベンダー フォルダーを手動で再アップロードし、このエラー
Auth guard [sanctum] is not defined
に直面した後、ブートストラップ フォルダーを再アップロードしました。
現在、すべてが正常に機能しています。

于 2021-04-09T06:32:09.523 に答える