> ## Documentation Index
> Fetch the complete documentation index at: https://cndoc-langchain.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 使用电子邮件和密码进行基础认证

LangSmith 支持通过用户名/密码登录，但有一些限制：

* 您无法将现有安装从基础认证模式更改为使用 PKCE 的 OAuth（已弃用），反之亦然——安装必须是其中一种模式。**基础认证安装需要一个全新的安装，包括一个独立的 PostgreSQL 数据库/模式，除非是从现有的 `None` 类型安装迁移（见下文）。**
* 用户在被邀请后必须获得其初始自动生成的密码。此密码可由任何组织管理员稍后更改。
* 您不能同时使用基础认证和使用客户端密钥的 OAuth。

## 要求和功能

* 在初始安装期间会配置一个名为 `Default` 的单一组织，并且不支持创建额外的组织
* 您的初始密码（在下方配置）必须至少 12 个字符长，并且至少包含一个小写字母、一个大写字母和一个符号
* 用于签名 JWT 的密钥没有严格要求，但我们建议安全地生成一个至少 32 个字符的字符串。例如：`openssl rand -base64 32`

### 从无认证迁移

**仅在 0.7 及以上版本中支持。**

将安装从 [None](/langsmith/authentication-methods#none) 认证模式迁移，会将单个“默认”用户替换为具有配置凭据的用户，并保留所有现有资源。迁移后，单个预先存在的工作区 ID 仍为 `00000000-0000-0000-0000-000000000000`，但迁移后的安装在其他方面与基础认证安装的标准一致。

要迁移，只需按如下所示更新您的配置，并像往常一样运行 `helm upgrade`（或 `docker-compose up`）。

### 配置

<Note>
  更改 JWT 密钥将使您的用户登出
</Note>

<CodeGroup>
  ```yaml Helm theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  config:
    authType: mixed
    basicAuth:
      enabled: true
      initialOrgAdminEmail: <您的电子邮件地址>
      initialOrgAdminPassword: <密码> # 必须至少 12 个字符长，并且至少包含一个小写字母、一个大写字母和一个符号
      jwtSecret: <密钥>
  ```

  ```bash Docker theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  # 在您的 .env 文件中
  AUTH_TYPE=mixed
  BASIC_AUTH_ENABLED=true
  INITIAL_ORG_ADMIN_EMAIL=<您的电子邮件地址>
  INITIAL_ORG_ADMIN_PASSWORD=<密码> # 必须至少 12 个字符长，并且至少包含一个小写字母、一个大写字母和一个符号
  BASIC_AUTH_JWT_SECRET=<密钥>
  ```
</CodeGroup>

此外，在 docker-compose 中，您需要运行引导命令来创建初始组织和用户：

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
docker-compose exec langchain-backend python hooks/auth_bootstrap.pyc
```

配置完成后，您将看到如下所示的登录屏幕。您应该能够使用 `initialOrgAdminEmail` 和 `initialOrgAdminPassword` 值登录，并且您的用户将被自动配置为具有 `组织管理员` 角色。有关组织角色的更多详细信息，请参阅[管理员指南](/langsmith/administration-overview#organization-roles)。

<img src="https://mintcdn.com/other-405835d4/X4LKQZjW6RjHveuz/langsmith/images/langsmith-ui-basic-auth.png?fit=max&auto=format&n=X4LKQZjW6RjHveuz&q=85&s=7d2d02f1218ba0f48ed520187a10d052" alt="使用基础认证的 LangSmith UI" width="1424" height="1156" data-path="langsmith/images/langsmith-ui-basic-auth.png" />

***

<div className="source-links">
  <Callout icon="terminal-2">
    [将这些文档](/use-these-docs)通过 MCP 连接到 Claude、VSCode 等，以获取实时答案。
  </Callout>

  <Callout icon="edit">
    [在 GitHub 上编辑此页面](https://github.com/langchain-ai/docs/edit/main/src/langsmith/self-host-basic-auth.mdx) 或 [提交问题](https://github.com/langchain-ai/docs/issues/new/choose)。
  </Callout>
</div>
