Passport란
Laravel Passport는 Laravel 앱을 OAuth2 인가 서버로 동작시키기 위한 공식 패키지입니다. 서드파티 앱 연동이나 엄격한 OAuth2 흐름이 필요한 API에서 사용합니다.Passport vs Sanctum
OAuth2가 필수라면 Passport를 선택합니다. 단순한 API 토큰 인증이나 SPA / 모바일 인증이 목적이라면 Sanctum을 선택합니다.AI 클라이언트에서 접근되는 MCP 서버를 구축할 경우 Passport를 사용하는 것이 공식적으로 권장됩니다. MCP 클라이언트는 보통 OAuth에 의한 인증을 전제로 하기 때문입니다.
설치
Laravel 13의 공식 권장은install:api --passport입니다.
설정
User 모델
User 모델에 HasApiTokens 트레이트와 OAuthenticatable 인터페이스를 추가합니다.
auth 가드
config/auth.php의 api 가드에서 passport 드라이버를 사용합니다.
서비스 프로바이더 설정
AppServiceProvider의 boot()에서 스코프 정의와 토큰 유효 기간을 설정할 수 있습니다.
클라이언트 관리
인가 코드 그랜트용 클라이언트
클라이언트 자격 증명 그랜트용 클라이언트
EnsureClientIsResourceOwner 미들웨어를 사용합니다.
토큰 관리
스코프 부여
스코프 체크
실효
API 라우트 보호
사용자 액세스 토큰으로 보호하는 API에는auth:api를 붙입니다.
Personal Access Token
OAuth2의 완전 흐름을 사용하지 않고 사용자 자신이 API 토큰을 발행하는 용도에 적합합니다.Personal Access Token이 주 용도라면, Laravel 공식에서도 Sanctum을 검토할 것이 권장됩니다.