2

Vuejs アプリは Cookie ヘッダーを設定しません。laravel アプリをポート 8000 で実行し、vuejs アプリをポート 8080 で実行しており、認証に fortify を使用しています。vuejs アプリが laravel アプリと同じディレクトリにありません また、chrome の [Network] タブに、このエラーが表示されます。これらは私の構成です。.env

SESSION_DRIVER=cookie
SESSION_LIFETIME=120
SESSION_DOMAIN=localhost
SANCTUM_STATEFUL_DOMAINS=http://localhost:8080

cors.php

'paths' => ['api/*', '/sanctum/csrf-cookie','/login','/register'],    
    'allowed_methods' => ['*'],    
    'allowed_origins' => ['*'],    
    'allowed_origins_patterns' => [],    
    'allowed_headers' => ['*'],    
    'exposed_headers' => [],    
    'max_age' => 0,    
    'supports_credentials' => true,

カーネル.php

'api' => [
            \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
            'throttle:api',
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],

ビューjs

私は Vue を初めて使用し、これが axios を使用する最良の方法ではないことを知っていますが、今のところ、ログインできるようにしようとしています。

async login() {
      try {
        this.token = await axios.get("//localhost:8000/sanctum/csrf-cookie",{
            headers: {
                Accept: "application/json",
            },
            withCredentials: true,
        });
        this.result = await axios.post(
          "//localhost:8000/login",
          { email: this.email, password: this.password },
          {
            headers: {
              Accept: "application/json",
            },
            withCredentials: true,
          }
        );

      } catch (error) {
        console.log(error);
      }
    },
  }

2 日間、この問題に関する stackoverflow のすべての投稿を読みましたが、まだ解決できていません。

4

0 に答える 0