Paybin

Paybin 提供者的设置和使用说明。

获取 Paybin 凭证

要使用 Paybin 登录,您需要通过 Paybin 组合应用程序创建一个 OAuth 2.0 客户端。

  1. 登录到您的 Paybin 组合

  2. 导航到开发者设置或 OAuth 应用程序部分

  3. 点击“创建 OAuth 应用程序”或“新应用程序”

  4. 填写必要字段:

    • 应用程序名称:授权期间显示给用户的名称
    • 重定向 URI:本地开发环境设置为 http://localhost:3000/api/auth/callback/paybin。生产环境设置为 https://yourdomain.com/api/auth/callback/paybin。如果更改了认证路由的基本路径,请相应更新重定向 URI。
  5. 创建完成后,将客户端 ID 和客户端密钥复制到环境变量中。请妥善保存这些凭证。

配置提供者

要配置提供者,您需要导入提供者并将其传递给认证实例的 socialProviders 选项。

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

export const auth = betterAuth({
    socialProviders: {
        paybin: { 
            clientId: process.env.PAYBIN_CLIENT_ID as string, 
            clientSecret: process.env.PAYBIN_CLIENT_SECRET as string, 
        }, 
    },
})

使用 Paybin 登录

要使用 Paybin 登录,您可以使用客户端提供的 signIn.social 函数,其中 provider 应设置为 paybin。

auth-client.ts
import { createAuthClient } from "better-auth/client"
const authClient = createAuthClient()

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

其他配置

权限范围

默认情况下,Paybin 提供者请求以下权限范围:openid、email 和 profile。您可以根据应用程序需求自定义权限范围。

有关可用权限及其说明的完整列表,请参阅 Paybin OIDC 权限范围文档。

auth.ts
export const auth = betterAuth({
    socialProviders: {
        paybin: {
            clientId: process.env.PAYBIN_CLIENT_ID as string,
            clientSecret: process.env.PAYBIN_CLIENT_SECRET as string,
            scope: ["openid", "email", "profile", "transactions"], 
        },
    },
})

用户资料映射

Paybin 按照 OpenID Connect 标准在 ID 令牌中返回用户信息。提供者会自动提取:

  • id 来自 sub 声明
  • name 来自 name、preferred_username 或 email(按偏好顺序)
  • email 来自 email 声明
  • image 来自 picture 声明
  • emailVerified 来自 email_verified 声明