피드로 돌아가기
Dev.toSecurity
원문 읽기
Mastra-Kinde Provider 구현을 통한 Multi-tenancy 기반 AI 에이전트 인증 체계 확보
Kinde Is Missing from Mastra's Auth Lineup, So I Built the Provider
AI 요약
Context
TypeScript 기반 AI 에이전트 프레임워크인 Mastra의 기본 Auth Provider 목록에 Kinde 부재로 인한 통합 한계 발생. Kinde가 제공하는 Org 구조, Billing, Feature Flag 등 B2B SaaS 핵심 기능을 유지하면서 Mastra의 API 및 Studio UI 보안을 강화해야 하는 상황.
Technical Solution
- MastraAuthProvider 베이스 클래스를 확장하여
authenticateToken및authorizeUser메서드를 구현한 커스텀 Provider 설계 - Kinde의 JWKS 엔드포인트(
/.well-known/jwks)를 통한 JWT 검증 및 Issuer, Expiry, Audience 유효성 체크 로직 적용 - Token 내
org_code클레임을 활용하여 별도의 데이터베이스 쿼리 없이 Multi-tenancy를 지원하는 격리 구조 설계 - Client Credentials Flow를 통한 Machine-to-Machine(M2M) 인증 지원으로 사람의 개입 없는 백그라운드 워크플로우 및 스케줄링 파이프라인 보안 확보
- Bearer Token 추출부터 요청 컨텍스트 저장까지 이어지는 Mastra의 인증 파이프라인에 Kinde의 인증 메커니즘을 통합
실천 포인트
1. 커스텀 Auth Provider 구현 시 IDP의 JWKS 엔드포인트 경로가 표준(`.json` 포함 여부)과 일치하는지 확인
2. B2B SaaS 설계 시 Token 내 Tenant 식별자를 포함하여 API 레벨에서 데이터 격리를 강제하는 구조 검토
3. AI 에이전트의 자동화 태스크를 위해 User Token 외에 M2M(Client Credentials) 인증 경로 별도 확보