抖音

获取你的 TikTok 凭证

要与 TikTok 集成,你需要通过在 TikTok 开发者门户 创建应用来获取 API 凭证。

按照以下步骤操作:

  1. 在抖音开发者门户创建一个账户
  2. 创建一个新应用
  3. 为测试设置沙箱环境
  4. 配置重定向 URL(必须是 HTTPS)
  5. 记下你的客户端密钥和客户端 ID
  • TikTok API 不支持本地主机(localhost)。你需要为重定向 URL 使用一个公共域名,并在本地测试时使用 HTTPS。你可以使用 NGROK 或其他类似工具来实现这一点。
  • 在测试时,你需要使用 沙盒模式,可以在 TikTok 开发者门户中启用。
  • 默认的权限范围是 user.info.profile。如需更多权限范围,请参阅 可用权限范围 文档。

确保将重定向 URL 设置为本地开发的有效 HTTPS 域。对于生产环境,你应将其设置为应用的 URL。如果更改了认证路由的基础路径,应相应地更新重定向 URL。

  • TikTok API 不提供电子邮件地址。作为变通方法,本实现使用用户的 username 值填充 email 字段,这也是为什么它需要 user.info.profile 权限,而不仅仅是 user.info.basic
  • 在生产环境中,你需要向 TikTok 申请批准你打算使用的权限。

配置提供程序

要配置提供程序,你需要导入该提供程序并将其传递给身份验证实例的 socialProviders 选项。

auth.ts
import { betterAuth } from "better-auth"

export const auth = betterAuth({
    socialProviders: {
        tiktok: { 
            clientSecret: process.env.TIKTOK_CLIENT_SECRET as string, 
            clientKey: process.env.TIKTOK_CLIENT_KEY as string, 
        }, 
    },
})

Sign In with TikTok

To sign in with TikTok, you can use the signIn.social function provided by the client. The signIn function takes an object with the following properties:

  • provider: The provider to use. It should be set to tiktok.
auth-client.ts
import { createAuthClient } from "better-auth/client"
const authClient =  createAuthClient()

const signIn = async () => {
    const data = await authClient.signIn.social({
        provider: "tiktok"
    })
}

On this page