Файл cookie не сохраняется в приложении Vue из приложения LaravelPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Файл cookie не сохраняется в приложении Vue из приложения Laravel

Сообщение Anonymous »

Я хочу спросить кое-что о том, как получить файл cookie из серверного приложения Laravel (на данный момент я уже установил токен и готовое хранилище для своего приложения Vue) во внешний интерфейс приложения Vue, поэтому я испробовал все способы решения, начать с необходимо выполнить настройки в cors.php в моем приложении Laravel до добавления учетных данных: включить в мое приложение Vue, но результат по-прежнему ничего, значение моего файла cookie не сохраняется в моем браузере приложения Vue, и я хочу знать, почему это произошло, я пришлю свой код ниже, чтобы прояснить мою проблему.
Приложение Laravel:

Код: Выделить всё

AuthController.php

Код: Выделить всё

public function login(Request $request): JsonResponse {
try {
// describe all the variables
$credentials = $request->only('email', 'password');

// call a validator rules
$validatorRules = $this->loginValidatorRules();

// make a validation
$validator = Validator::make($credentials, $validatorRules['rules'], $validatorRules['messages']);

// validate the validation rules
if ($validator->fails()) {
// return to validation exception
throw new ValidationException($validator, 422);
}

// login step
$user = User::where('email', $credentials['email'])->first();

// check if the user is not registered
if (empty($user)) {
throw new Exception('akun belum terdaftar, silahkan daftar terlebih dahulu.', 404);
}

// compare the text password (hashed) with the database password
$isPassword = Hash::check($credentials['password'], $user->password);

// check the password
if (!$isPassword) {
throw new Exception('password yang dimasukkan salah, silahkan coba lagi.', 401);
}

// attempt the token auth
$token = Auth::guard('api')->attempt($credentials);

// check the token
if (!$token) {
throw new Exception('terjadi kesalahan pada saat autentikasi, silahkan hubungi admin (kode error: token).', 401);
}

// create a refresh token
$plainRefreshToken = Str::random(60);

// hash the plain refresh token
$hashedRefreshToken = hash('sha256', $plainRefreshToken);

// store the hashed refresh token to user database
User::where('id_user', $user->id_user)->update(['refresh_token' => $hashedRefreshToken]);

// store the access token to cookie
$accessTokenCookie = cookie('access_token', $token, Auth::factory()->getTTL(), null, null, true, true, false, 'None');

// store the plain refresh token to cookie
$plainRefreshTokenCookie = cookie('refresh_token', $plainRefreshToken, 2880, null, null, true, true, false, 'None');

// create payload data
$payload = [
'data' => [
'session' => $this->respondWithToken($token, $plainRefreshToken),
'user' => [
'id_user' => $user->id_user,
'role' => $user->getRoleNames(),
'name' => $user->name,
'email' => $user->email,
'email_verified_at' => $user->email_verified_at,
],
]
];

// return success response
return ResponseJson::responseJson('success', 'Login berhasil', 200, 'Login telah berhasil', $payload)
->cookie($accessTokenCookie)
->cookie($plainRefreshTokenCookie);
} catch (ValidationException $exception) {
// return error validation message
return ResponseJson::responseJson('error', 'Validasi gagal', $exception->response, $exception->errors());
} catch (Exception $exception) {
dd($exception);
// return error credentials for login message
return ResponseJson::responseJson('error', 'Login gagal', $exception->getCode(), $exception->getMessage());
}
}

Код: Выделить всё

cors.php

Код: Выделить всё


Подробнее здесь: [url]https://stackoverflow.com/questions/79060533/cookie-not-store-to-vue-app-from-laravel-app[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»