TikTok

获取 TikTok 凭证

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

按照以下步骤操作:

  1. 在 TikTok 开发者门户创建账户
  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 申请批准你打算使用的作用域。

配置提供商

要配置提供商,你需要导入提供商并将其传递给 auth 实例的 socialProviders 选项。

auth.ts
import { betterAuth } from "better-auth"
 
export const auth = betterAuth({
    socialProviders: {
        tiktok: { 
            clientId: process.env.TIKTOK_CLIENT_ID as string, 
            clientSecret: process.env.TIKTOK_CLIENT_SECRET as string, 
            clientKey: process.env.TIKTOK_CLIENT_KEY as string, 
        }, 
    },
})

使用 TikTok 登录

要使用 TikTok 登录,你可以使用客户端提供的 signIn.social 函数。signIn 函数接受一个包含以下属性的对象:

  • provider:要使用的提供商。应该设置为 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