Sanctum은 Laravel 8.0 버전부터 공식적으로 추가되었습니다.
- Laravel 프레임워크에 의해 공식적으로 지원.
- CSRF 보호, 세션 기반 인증, 2FA 지원 등 Laravel 생태계와 더 잘 통합.
- JWT-Auth 대비 설치와 설정이 더 단순.
- 토큰 기반 인증과 세션 기반 인증을 모두 지원.
따라서 최근에는 Laravel 8.0 이상의 프로젝트에서는 대부분 Sanctum을 사용하는 것이 권장됨.
JWT-Auth는 여전히 사용되고 있지만, Sanctum이 더 널리 채택되는 추세입니다.
Sanctum
Sanctum은 Laravel 프레임워크에서 제공되는 API 인증 도구입니다. Sanctum은 다음과 같은 주요 기능을 제공합니다:
- 토큰 기반 인증: 웹 애플리케이션과 모바일 앱에 대해 API 토큰을 생성할 수 있습니다.
- CSRF 보호: 웹 애플리케이션의 CSRF 공격을 방지합니다.
- 세션 기반 인증: 웹 브라우저 세션을 사용하여 인증을 관리합니다.
- 두 요소 인증: 두 요소 인증(2FA)을 지원합니다.
Sanctum은 JSON Web Tokens(JWT)를 사용하여 API 토큰을 생성하므로, JWT 인증과 잘 통합됩니다.
JWT 인증
JSON Web Tokens(JWT)는 웹 애플리케이션에서 안전하게 정보를 전송하기 위한 개방형 표준입니다. JWT 인증은 다음과 같이 작동합니다:
- 사용자가 로그인하면 서버가 JWT 토큰을 생성합니다.
- 클라이언트(웹 브라우저 or 모바일 앱)는 이 토큰을 저장하고, 추후 요청 시 헤더에 포함시켜 보냅니다.
- 서버는 토큰의 유효성을 검사하고, 유효하다면 사용자 정보에 접근할 수 있습니다.
JWT 토큰은 다음과 같은 장점이 있습니다:
- 무상태성: 서버에 세션 정보를 저장할 필요가 없어 확장성이 높습니다.
- cross-domain 지원: 클라이언트와 서버가 다른 도메인에 있어도 안전하게 통신할 수 있습니다.
- 모바일 앱 지원: 모바일 환경에서도 안전하게 사용할 수 있습니다.
Sanctum은 JWT 인증을 기반으로 하므로, 두 기술은 Laravel 애플리케이션의 API 인증에 효과적으로 사용될 수 있습니다.
'Laravel' 카테고리의 다른 글
Laravel - spatie/laravel-ignition (에러표시) (0) | 2024.11.14 |
---|---|
라라벨 관리자 지정 및 일반유저와 구분하기 (0) | 2024.11.13 |
Laravel 호스팅하기 > Forge > DigitalOcean 서버 세팅 및 파일 업로드 (0) | 2024.10.26 |
Laravel > Docker > Sail (도커에서 라라벨 프로젝트 세팅하기) for Mac (0) | 2024.08.26 |
Laravel > 원하는 버전으로 설치하기 (0) | 2024.08.21 |