# @aws-amplify/auth-construct-alpha 中文文档

规范地址：https://npmcn.com/package/%40aws-amplify/auth-construct-alpha/

版本：0\.6\.1
npm 元数据更新时间：2025-05-22T20:11:24.994Z
中文译文更新时间：2026-11-07T12:37:59.921Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40aws-amplify/auth-construct-alpha
原文对照：https://npmcn.com/package/%40aws-amplify/auth-construct-alpha/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：165 kB，14 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：4 个
- peer 依赖：constructs ^10\.0\.0，aws-cdk-lib ^2\.127\.0
- 首次发布：2023-08-22T21:46:45.690Z
- 最新版本发布：2024-04-23T14:24:39.018Z
- 近 30 天下载量：78506（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：57（近 12 个月 0 个）

## 中文简介

这个软件包将一个L3 CDK Constructure进行维系,它能够更快,更容易,安全地进行由Amazon Cognito提供动力的应用认证和授权. 放大 Auth 允许您用一个完全管理的用户目录快速设置安全认证流程 。 控制WHA

## 安装

```sh
npm install @aws-amplify/auth-construct-alpha
```

也可以使用：`pnpm add @aws-amplify/auth-construct-alpha`、`yarn add @aws-amplify/auth-construct-alpha`、`bun add @aws-amplify/auth-construct-alpha`

## README

# 放大Auth 构造

这个软件包将一个L3 CDK Constructure进行维系,它能够更快,更容易,安全地进行由Amazon Cognito提供动力的应用认证和授权. 放大 Auth 允许您用一个完全管理的用户目录快速设置安全认证流程 。 控制用户在您的移动和网络应用程序中可以访问哪些内容,并具有Amplify Auth的内置授权能力.

使用此构造的主要方法是用配置对象来引用. 您可以通过将单个设置作为属性传递到 AmplifyAuth 构造来声明您的认证 .

注:只列出一个实例 `AmplifyAuth` 构造可以在此时的CDK合成中被引用.

## 实例

### 带有默认设置的简单电子邮件登录

在此示例中, 您将创建一个简单的堆栈, 并启用电子邮件登录( 默认) 。 应用此功能将创建一个用户Pool、用户PoolClient、身份Pool以及认证/认证的IAM角色.

```ts
import { App, Stack } from 'aws-cdk-lib';
import { AmplifyAuth } from '@aws-amplify/auth-construct-alpha';

const app = new App();
const stack = new Stack(app, 'AuthStack');

new AmplifyAuth(stack, 'Auth');
```

### 使用定制多要素设置的电子邮件登录

在此示例中, 您将创建一个简单的堆栈, 并启用电子邮件登录, 以及定制的多因子认证( MFA) 设置 .

```ts
import { App, Stack } from 'aws-cdk-lib';
import { AmplifyAuth } from '@aws-amplify/auth-construct-alpha';

const app = new App();
const stack = new Stack(app, 'AuthStack');

new AmplifyAuth(stack, 'Auth', {
  loginWith: {
    email: true,
  },
  multifactor: {
    mode: 'OPTIONAL',
    sms: {
      smsMessage: (code: string) => `Your verification code is ${code}`,
    },
    totp: false,
  },
});
```

### 外部登录提供者自定义的电子邮件和电话登录

在此示例中, 您将创建一个包含电子邮件、 电话和外部登录提供者的堆栈 。 此外,您还可以自定义电子邮件和电话验证信息.

```ts
import { App, Stack, SecretValue } from 'aws-cdk-lib';
import { AmplifyAuth } from '@aws-amplify/auth-construct-alpha';

const app = new App();
const stack = new Stack(app, 'AuthStack');

new AmplifyAuth(stack, 'Auth', {
  loginWith: {
    email: {
      verificationEmailStyle: 'CODE',
      verificationEmailBody: (code: string) =>
        `Your verification code is ${code}.`,
      verificationEmailSubject: 'My custom email subject',
    },
    phone: {
      verificationMessage: (code: string) =>
        `Your verification code is ${code}.`,
    },
    externalProviders: {
      google: {
        clientId: 'googleClientId',
        // see https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.SecretValue.html
        clientSecret: SecretValue.unsafePlainText('googleClientSecret'),
      },
      facebook: {
        clientId: 'facebookClientId',
        clientSecret: 'facebookClientSecret',
      },
      signInWithApple: {
        clientId: 'appleClientId',
        keyId: 'appleKeyId',
        privateKey: 'applePrivateKey',
        teamId: 'appleTeamId',
      },
      loginWithAmazon: {
        clientId: 'amazonClientId',
        clientSecret: 'amazonClientSecret',
      },
      oidc: {
        clientId: 'oidcClientId',
        clientSecret: 'oidcClientSecret',
        issuerUrl: 'oidcIssuerUrl',
        name: 'oidcProviderName',
      },
      saml: {
        name: 'samlProviderName',
        metadata: {
          metadataContent: 'samlMetadataContent',
          metadataType: 'FILE',
        },
      },
    },
  },
});
```

### 自定义用户属性

在此示例中,您会自定义用户Pool中每个用户所需的一组属性 .

```ts
import { App, Stack } from 'aws-cdk-lib';
import { AmplifyAuth } from '@aws-amplify/auth-construct-alpha';

const app = new App();
const stack = new Stack(app, 'AuthStack');

new AmplifyAuth(stack, 'Auth', {
  loginWith: { email: true },
  userAttributes: {
    address: {
      mutable: false,
    },
    familyName: {
      required: true,
    },
  },
});
```

## 常见问题

### @aws-amplify/auth-construct-alpha 是什么？

这个软件包将一个L3 CDK Constructure进行维系,它能够更快,更容易,安全地进行由Amazon Cognito提供动力的应用认证和授权\. 放大 Auth 允许您用一个完全管理的用户目录快速设置安全认证流程 。 控制WHA

### 如何安装 @aws-amplify/auth-construct-alpha？

在项目目录运行 npm install @aws-amplify/auth-construct-alpha，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：constructs（^10\.0\.0）、aws-cdk-lib（^2\.127\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @aws-amplify/auth-construct-alpha 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @aws-amplify/auth-construct-alpha 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @aws-amplify/auth-construct-alpha 可以商用吗？

@aws-amplify/auth-construct-alpha 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @aws-amplify/auth-construct-alpha 的下载量有多少？

根据 npm 官方下载统计，@aws-amplify/auth-construct-alpha 在 2026/10/07 – 2026/11/05 这 30 天内被下载 78,506 次，日均约 2,617 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @aws-amplify/auth-construct-alpha 还在维护吗？

最新版本 0\.6\.1 发布于 2024/04/23（2 年前）；至今共发布 57 个版本，其中过去 12 个月发布了 0 个；首次发布于 2023/08/23。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

