Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Inertia는 Laravel을 사용하여 사용자 인증을 어떻게 처리합니까?


Inertia는 Laravel을 사용하여 사용자 인증을 어떻게 처리합니까?


Inertia는 Laravel의 내장 인증 기능을 활용하고 이를 Inertia의 단일 페이지 애플리케이션(SPA) 아키텍처와 원활하게 작동하도록 확장하여 Laravel의 사용자 인증을 처리합니다. 핵심 사항은 다음과 같습니다.

1. Laravel의 기본 인증 사용:
- Inertia는 Laravel의 기본 세션 기반 인증을 사용합니다. 즉, 사용자는 Laravel에 내장된 인증 메커니즘을 사용하여 인증됩니다.
- 이 접근 방식을 사용하면 Inertia가 Laravel의 인증 시스템[1][2][3]과 직접 상호 작용할 수 있으므로 인증을 위해 별도의 API를 만들 필요가 없습니다.

2. 인증된 사용자 공유:
- 인증된 사용자를 프런트엔드와 공유하기 위해 Inertia의 'share' 방식을 사용합니다. 이를 통해 프런트엔드가 사용자 개체에 액세스하고 이를 인증 확인에 사용할 수 있습니다[2].

3. 승인 확인:
- Inertia가 공유하는 사용자 개체를 사용하여 프런트엔드에서 권한 확인이 수행됩니다. 이를 통해 프런트엔드는 사용자의 권한에 따라 콘텐츠를 동적으로 표시하거나 숨길 수 있습니다[2].

4. 데이터 변환:
- 데이터 변환은 인증 확인에 매우 중요합니다. Inertia의 'share' 방법을 사용하면 데이터가 프런트엔드에 도달하기 전에 데이터를 변환할 수 있으므로 복잡한 인증 요구 사항을 더 쉽게 처리할 수 있습니다[2].

5. 스타터 키트:
- Laravel은 새로운 Laravel 애플리케이션에 인증을 통합하기 위한 아름답게 디자인된 시작점을 제공하는 Laravel Breeze 및 Laravel Jetstream과 같은 스타터 키트를 제공합니다. 이 키트에는 Livewire 또는 Inertia 기반 스캐폴딩 옵션이 포함되어 있어 인증을 Inertia 애플리케이션과 쉽게 통합할 수 있습니다[4].

이러한 기능을 활용함으로써 Inertia는 Laravel을 사용하여 사용자 인증을 처리하는 원활하고 효율적인 방법을 제공하므로 개발자는 복잡한 인증 및 승인에 대해 걱정하지 않고 애플리케이션 구축에 집중할 수 있습니다.

인용:
[1] https://atlas.dev/blog/using-inertia-with-laravel-in-2024
[2] https://sebastiandedeyne.com/handling-authorization-in-a-laravel-and-inertia-application
[3] https://github.com/inertiajs/inertia-laravel/issues/21
[4] https://laravel.com/docs/11.x/authentication
[5] https://stackoverflow.com/questions/66080777/laravel-inertia-js-and-vue-check-if-user-is-logged-in