Как настроить простую систему входа в приложение с использованием Nuxt 3 и Laravel?

Как организовать авторизацию в простой админке для одного пользователя на сайте, построенном на Nuxt 3 и Laravel без использования лишних библиотек, например Sanctum? Подскажите, каким образом наиболее эффективно и быстро можно настроить процесс авторизации в админке? И есть ли доступные материалы или статьи, которые могут помочь в данной ситуации без необходимости просмотра несколькихчасовых видеокурсов?
  • 24 февраля 2024 г. 20:18
Ответы на вопрос 2
 

Для настройки простой авторизации в админке на сайте, построенном на Nuxt 3 и Laravel, можно воспользоваться базовыми средствами Laravel для аутентификации пользователей. Ниже приведены основные шаги:

1. Создайте миграцию для таблицы пользователей в Laravel. Для этого выполните команду `php artisan make:migration create_users_table`.

2. В миграции определите необходимые поля для таблицы пользователей, например, `name`, `email`, `password`.

3. Запустите миграцию с помощью команды `php artisan migrate`, чтобы создать таблицу пользователей в базе данных.

4. Создайте контроллер для аутентификации пользователей, например, `AuthController`. В этом контроллере определите методы для регистрации и входа пользователей.

5. Добавьте маршруты для аутентификации в файле `routes/web.php` в Laravel.

6. Создайте форму входа и регистрации на frontend части сайта, используя Nuxt.js. Для этого можно создать компоненты `Login.vue` и `Register.vue`.

7. Для отправки запросов на сервер с данными пользователя, используйте библиотеку axios в Nuxt 3.

8. В контроллере `AuthController` добавьте методы для аутентификации пользователей с проверкой данных, например, метод для входа пользователя:

```php
public function login(Request $request)
{
    $credentials = $request->only('email', 'password');

    if (Auth::attempt($credentials)) {
        return response()->json(['message'=>'Authenticated']);
    } else {
        return response()->json(['message'=>'Unauthorized'], 401);
    }
}
```

9. Обработайте полученные ответы на frontend части сайта и выполните необходимые действия в зависимости от результата аутентификации.

Это простой пример настройки авторизации в админке без использования Sanctum или других библиотек. Для более детальной информации и настройки рекомендуется обратиться к официальной документации Laravel и Nuxt.js. Также можно найти статьи и руководства на тему авторизации в Laravel и Nuxt.js в Интернете для более подробного изучения.
Можно использовать basic auth https://nuxt.com/modules/nuxt-basic-auth + использовать middleware auth.basic https://laravel.com/docs/10.x/authentication#http-... для закрытия роутов. Пользователь при этом должен быть в таблице users бека.
Похожие вопросы