# WeChat (/docs/authentication/wechat)

WeChat 提供者的设置和使用方法。



<Steps>
  <Step>
    ### 获取微信凭证 [#获取微信凭证]

    要使用微信登录，您需要在 [微信开放平台](https://open.weixin.qq.com/) 注册一个网站应用，将 `Authorization Callback Domain` 设置为更好的认证域名，并获取您的 App ID 和 App Secret。
  </Step>

  <Step>
    ### 配置提供者 [#配置提供者]

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

    ```ts title="auth.ts"
    import { betterAuth } from "better-auth"

    export const auth = betterAuth({
        socialProviders: {
            wechat: { // [!code highlight]
                clientId: process.env.WECHAT_CLIENT_ID, // [!code highlight]
                clientSecret: process.env.WECHAT_CLIENT_SECRET, // [!code highlight]
            }, // [!code highlight]
        },
    })
    ```

    #### 可选配置 [#可选配置]

    您可以使用以下选项来自定义微信提供者：

    ```ts title="auth.ts"
    export const auth = betterAuth({
        socialProviders: {
            wechat: {
                clientId: process.env.WECHAT_CLIENT_ID,
                clientSecret: process.env.WECHAT_CLIENT_SECRET,
                // 可选：设置微信登录页面的 UI 语言
                lang: "cn", // 或 "en" 表示英文
                // 可选：使用自定义作用域
                scope: [], // "snsapi_login" 用于网页二维码登录。
            },
        },
    })
    ```
  </Step>

  <Step>
    ### 使用微信登录 [#使用微信登录]

    要使用微信登录，您可以使用客户端提供的 `signIn.social` 函数。`signIn` 函数接收一个包含以下属性的对象：

    * `provider`：要使用的提供者，应设置为 `wechat`。

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

    const signIn = async () => {
        const data = await authClient.signIn.social({
            provider: "wechat"
        })
    }
    ```
  </Step>
</Steps>

## 使用方式 [#使用方式]

### 平台支持 [#平台支持]

微信提供者当前支持网站应用平台类型，允许 Web 应用实现微信二维码登录。

### 开发注意事项 [#开发注意事项]

* 跳转 URL 域名必须与微信开放平台中配置的域名匹配

