Dub
Dub는 기업가, 크리에이터, 성장 팀을 위한 오픈 소스 현대 링크 관리 플랫폼입니다.
이 플러그인을 사용하면 사용자가 Dub 링크를 통해 가입할 때 리드를 추적할 수 있습니다. 또한 OAuth 연결 지원을 추가하여 Dub의 링크 관리 인프라를 확장하는 통합을 구축할 수 있습니다.
설치
플러그인 구성
auth 설정에 플러그인을 추가합니다:
import { betterAuth } from "better-auth"
import { dubAnalytics } from "@dub/better-auth"
import { dub } from "dub"
export const auth = betterAuth({
plugins: [
dubAnalytics({
dubClient: new Dub()
})
]
})사용법
리드 추적
기본적으로 플러그인은 가입 이벤트를 리드로 추적합니다. disableLeadTracking을 true로 설정하여 이를 비활성화할 수 있습니다.
import { dubAnalytics } from "@dub/better-auth";
import { betterAuth } from "better-auth";
import { Dub } from "dub";
const dub = new Dub();
const betterAuth = betterAuth({
plugins: [
dubAnalytics({
dubClient: dub,
disableLeadTracking: true, // 리드 추적 비활성화
}),
],
});OAuth 연결
플러그인은 계정 연결을 위한 OAuth를 지원합니다.
먼저 Dub에서 OAuth 앱을 설정해야 합니다. Dub는 OAuth 2.0 인증을 지원하며, Dub의 기능을 확장하는 통합을 구축할 때 권장됩니다 (OAuth에 대해 자세히 알아보기).
클라이언트 ID와 클라이언트 시크릿을 받으면 플러그인을 구성할 수 있습니다.
dubAnalytics({
dubClient: dub,
oauth: {
clientId: "your-client-id",
clientSecret: "your-client-secret",
},
});그리고 클라이언트에서는 dubAnalyticsClient 플러그인을 사용해야 합니다.
import { createAuthClient } from "better-auth/client";
import { dubAnalyticsClient } from "@dub/better-auth/client";
const authClient = createAuthClient({
plugins: [dubAnalyticsClient()],
});Dub와 계정을 연결하려면 dub.link를 사용해야 합니다.
POST
/dub/linkconst { data, error } = await authClient.dub.link({ callbackURL: "/dashboard", // required});| Prop | Description | Type |
|---|---|---|
callbackURL | 연결 후 리디렉션할 URL | string |
옵션
플러그인에 다음 옵션을 전달할 수 있습니다:
dubClient
Dub 클라이언트 인스턴스입니다.
disableLeadTracking
가입 이벤트에 대한 리드 추적을 비활성화합니다.
leadEventName
가입 리드의 이벤트 이름입니다.
customLeadTrack
사용자 정의 리드 추적 함수입니다.
oauth
Dub OAuth 구성입니다.
oauth.clientId
Dub OAuth의 클라이언트 ID입니다.
oauth.clientSecret
Dub OAuth의 클라이언트 시크릿입니다.
oauth.pkce
Dub OAuth에 대한 PKCE를 활성화합니다.