Dub

使用 Dub 链接和 OAuth 关联进行更好的潜在客户跟踪认证插件

Dub 是一个面向创业者、创作者和增长团队的开源现代链接管理平台。

此插件允许您在用户通过 Dub 链接注册时跟踪潜在客户。它还添加了 OAuth 关联支持,以便您构建扩展 Dub 的链接管理基础设施的集成。

安装

安装插件

首先,安装插件:

npm install @dub/better-auth

安装 Dub SDK

接下来,在服务器上安装 Dub SDK:

npm install dub

配置插件

将插件添加到您的认证配置中:

auth.ts
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/link
const { data, error } = await authClient.dub.link({    callbackURL: "/dashboard", // required});
Parameters
callbackURLstringrequired

关联后重定向的 URL

选项

您可以向插件传递以下选项:

dubClient

Dub 客户端实例。

disableLeadTracking

禁用注册事件的潜在客户跟踪。

leadEventName

注册潜在客户的事件名称。

customLeadTrack

自定义潜在客户跟踪函数。

oauth

Dub OAuth 配置。

oauth.clientId

Dub OAuth 的客户端 ID。

oauth.clientSecret

Dub OAuth 的客户端密钥。

oauth.pkce

启用 Dub OAuth 的 PKCE。