MastraAuthBetterAuth 클래스
그만큼MastraAuthBetterAuth클래스는 Better Auth를 사용하여 Mastra 애플리케이션에 대한 인증을 제공합니다. Better Auth 세션으로 들어오는 요청을 확인하고 다음을 사용하여 Mastra 서버와 통합합니다.auth옵션.
사용예사용예에 대한 직접 링크
src/mastra/index.ts
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
= 'better-auth'
인증 Provider 인스턴스의 사용자 정의 이름입니다.
public?:
Array<string | RegExp | [string, Methods | Methods[]]>
인증이 필요하지 않은 공개 경로입니다. 정확한 경로, 와일드카드 및 경로 매개변수를 지원합니다.
protected?:
Array<string | RegExp | [string, Methods | Methods[]]>
인증이 필요한 보호 경로입니다. 정확한 경로, 와일드카드 및 경로 매개변수를 지원합니다.
BetterAuthUser유형betterauthuser-type에 대한 직접 링크
BetterAuthUser 타입에는 Better Auth에서 반환한 세션 및 사용자 정보가 포함됩니다.
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가 명시적으로 표시된 경우 제외).