> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ko/llms.txt # MastraAuthBetterAuth 클래스 그만큼`MastraAuthBetterAuth`클래스는 Better Auth를 사용하여 Mastra 애플리케이션에 대한 인증을 제공합니다. Better Auth 세션으로 들어오는 요청을 확인하고 다음을 사용하여 Mastra 서버와 통합합니다.`auth`옵션. ## 사용예 ```typescript import { Mastra } from '@mastra/core' import { MastraAuthBetterAuth } from '@mastra/auth-better-auth' import { betterAuth } from 'better-auth' // Create your Better Auth instance const auth = betterAuth({ database: { provider: 'postgresql', url: process.env.DATABASE_URL, }, emailAndPassword: { enabled: true, }, baseURL: process.env.BETTER_AUTH_URL, secret: process.env.BETTER_AUTH_SECRET, }) export const mastra = new Mastra({ server: { auth: new MastraAuthBetterAuth({ auth, }), }, }) ``` ## 생성자 매개변수 **auth** (`Auth`): betterAuth({ ... })를 통해 생성한 Better Auth 인스턴스입니다. 필수이며 지원되는 데이터베이스 Provider로 올바르게 구성해야 합니다. **name** (`string`): 인증 Provider 인스턴스의 사용자 정의 이름입니다. (Default: `'better-auth'`) **authorizeUser** (`(user: BetterAuthUser, request: HonoRequest) => Promise | boolean`): 사용자에게 액세스를 허용할지 결정하는 사용자 정의 권한 부여 함수입니다. 세션 검증 후 호출됩니다. 기본적으로 유효한 세션을 보유한 모든 인증된 사용자를 허용합니다. **public** (`Array`): 인증이 필요하지 않은 공개 경로입니다. 정확한 경로, 와일드카드 및 경로 매개변수를 지원합니다. **protected** (`Array`): 인증이 필요한 보호 경로입니다. 정확한 경로, 와일드카드 및 경로 매개변수를 지원합니다. ## `BetterAuthUser`유형 `BetterAuthUser` 타입에는 Better Auth에서 반환한 세션 및 사용자 정보가 포함됩니다. ```typescript interface BetterAuthUser { session: Session user: User } ``` - `session`: 세션 메타데이터를 포함하는 Better Auth 세션 객체 - `user`: 사용자 세부정보가 포함된 인증된 사용자 개체 `Session` 및 `User` 타입은 Better Auth 패키지에서 내보냅니다. ## 일치 규칙 - `public`과 `protected`는 정확한 경로, 와일드카드 패턴(예: `/api/*`) 및 경로 매개변수(예: `/users/:id`)를 허용합니다. - 메서드별 규칙에는 `["/api/agents", ["GET", "POST"]]`와 같은 튜플을 사용하세요. - 경로가 `public`과 `protected` 모두에 일치하면 `public`이 우선하며 인증이 필요하지 않습니다. - 둘 다 일치하지 않으면 경로는 기본적으로 보호되는 것으로 간주됩니다(경로에 `requiresAuth: false`가 명시적으로 표시된 경우 제외). ## 관련된 [MastraAuthBetterAuth 클래스](https://mastra.zisheng.pro/ko/docs/server/auth/better-auth)