# @adobe/aio-lib-ims-oauth 中文文档

规范地址：https://npmcn.com/package/%40adobe/aio-lib-ims-oauth/

版本：6\.1\.1
npm 元数据更新时间：2026-10-01T01:32:20.559Z
中文译文更新时间：2026-11-05T19:02:04.254Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40adobe/aio-lib-ims-oauth
原文对照：https://npmcn.com/package/%40adobe/aio-lib-ims-oauth/?lang=original
项目主页：https://github.com/adobe/aio-lib-ims-oauth
源码仓库：https://github.com/adobe/aio-lib-ims-oauth

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

- 包体积（解压后）：46 kB，10 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：\>=20
- 运行依赖：6 个
- peer 依赖：@adobe/aio-lib-ims ^7 \|\| ^8
- 首次发布：2020-02-25T08:11:37.301Z
- 最新版本发布：2026-09-22T08:16:09.668Z
- 近 30 天下载量：48830（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：31（近 12 个月 3 个）

## 中文简介

OAuth2( SUSI) 用于 @ adobe/ aio- lib- ims 的符号创建插件

## 安装

```sh
npm install @adobe/aio-lib-ims-oauth
```

也可以使用：`pnpm add @adobe/aio-lib-ims-oauth`、`yarn add @adobe/aio-lib-ims-oauth`、`bun add @adobe/aio-lib-ims-oauth`

## README

# Adobe I/O IMS 图书馆的 OAuth 支持

OAuth2( SUSI) 符号创建插件 [`aio-lib-ims`](https://github.com/adobe/aio-lib-ims)。 。 。 .

[![Version](https://img.shields.io/npm/v/@adobe/aio-lib-ims-oauth.svg)](https://npmjs.org/package/@adobe/aio-lib-ims-oauth) [![Downloads/week](https://img.shields.io/npm/dw/@adobe/aio-lib-ims-oauth.svg)](https://npmjs.org/package/@adobe/aio-lib-ims-oauth) [![Node.js CI](https://github.com/adobe/aio-lib-ims-oauth/actions/workflows/node.js.yml/badge.svg)](https://github.com/adobe/aio-lib-ims-oauth/actions/workflows/node.js.yml) [![Codecov Coverage](https://img.shields.io/codecov/c/github/adobe/aio-lib-ims-oauth/master.svg?style=flat-square)](https://codecov.io/gh/adobe/aio-lib-ims-oauth/) [![License](https://img.shields.io/npm/l/@adobe/aio-lib-ims-oauth.svg)](https://github.com/adobe/aio-lib-ims-oauth/blob/master/package.json)

此插件意在结合 [`aio-lib-ims`](https://github.com/adobe/aio-lib-ims) 扩展此功能, 支持基于 3- leged OAuth2 的浏览器认证 _SUSI 流量_。 。 。 .

关于Adobe I/O CLI IMS插件的一般设置,请参考 [`aio-lib-ims`](https://github.com/adobe/aio-lib-ims)。 。 。 .

3-leged OAuth2需要与浏览器进行交互,因为接收授权代码的初始认证步骤可能涉及基于浏览器的多个步骤. 例如,IMS企业一体化可能涉及进一步转向第三方进行实际认证.

工作流量 :

1.  生成4字节的随机密码
2.  创建本地主机网络服务器, 在端口号监听
3.  Adobe I/O 运行时的网络动作在浏览器中打开,通过此密码,本地主机网络服务器端口号,客户端 id,以及作为查询参数的IMS范围
4.  Adobe I/O 运行时网络动作将重定向到IMS的授权端点,其范围,客户端 ID 和 a [页:1](https://en.wikipedia.org/wiki/Cross-site_request_forgery) 符号为 `state` 属性( 来源于 id、 客户端 id、 范围和 localhost 端口) 作为查询参数传递
5.  当用户被认证或发生出错时,IMS端点将重定向到 Adobe I/O 运行时的网络动作 `login-success` 路径
6.  如果认证成功, Adobe I/O Runtime 网络动作将重定向到指定端口的本地主机网络服务器( 来源于 `state` 并转发 `state` 财务报告和审定财务报表 `code` 作为查询参数的本地主机网络服务器调用属性
7.  Localhost网络服务器将把授权代码传递到库中,库会调用一个IMS端点,以交换授权代码作为访问令牌并刷新令牌
8.  如果认证不成功, Adobe I/O Runtime 网络动作将在网页浏览器中报告错误消息

Adobe I/O 运行时函数( 目前用于测试) 即将到来 .

# 配置

添加数据 `oauth2` 语境 `.aio` 当前工作目录中的文件(项目文件夹),下 `ims`数字 :

```javascript
{
  ims: {
    contexts: {
      oauth2: {
          client_id: "YOUR_CLIENT_ID",
          client_secret: "YOUR_CLIENT_SECRET",
          scope: "YOUR_IMS_SCOPE"
      }
    }
  }
}
```

上下文可以被命名为任何东西( 这里 ) `oauth2` 为上下文名称所选择.

# 客户身份

客户端ID( 在开发者控制台中称为 OAuth2 证书) 必须允许 Adobe I/O 运行时动作的 `login-success` 路径作为重定向 URL。 为此,它应该被配置为OAuth2证书在开发者控制台中的重定向URI模式之一,其值:

```
https://aio-login\.adobeioruntime\.net/api/v1/web/default/applogin/login-success
```

请注意, URL 中点的回击是非常重要的, 因为这个值必须是有效的正则表达式 .

例如如下截图编辑证书所示:

![Edit Credential](https://npmcn.com/package/%40adobe/aio-lib-ims-oauth/docs/images/developer-console-edit-credential.png "Developer Console: edit credential")

# 环境变量

| 变量 | 说明 | 默认 |
| --- | --- | --- |
| `AIO_IMS_LOCAL_LOGIN_PORT` | 本地登录服务器的端口号 。 对需要转发特定端口的 Docker 环境有用 。 必须是有效的数字; 返回到 `0` (OS指定)如果未设置或无效. | `0` |

例如运行 `aio login` 在端口转发的多克容器内:

```bash
export LOCAL_LOGIN_PORT=8080
docker run --rm -it -p ${LOCAL_LOGIN_PORT}:${LOCAL_LOGIN_PORT} -e AIO_IMS_LOCAL_LOGIN_PORT=${LOCAL_LOGIN_PORT} node:24-slim sh -c "npm install -g @adobe/aio-cli && bash"
```

# 捐款

欢迎捐款! 读取 [贡献指南](https://npmcn.com/package/%40adobe/aio-lib-ims-oauth/CONTRIBUTING.md) 更多信息.

# 许可证发放

这个项目根据Apache V2许可证获得许可. 见 [自由主义](https://npmcn.com/package/%40adobe/aio-lib-ims-oauth/LICENSE) 更多信息.

## 常见问题

### @adobe/aio-lib-ims-oauth 是什么？

OAuth2\( SUSI\) 用于 @ adobe/ aio- lib- ims 的符号创建插件

### 如何安装 @adobe/aio-lib-ims-oauth？

在项目目录运行 npm install @adobe/aio-lib-ims-oauth，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@adobe/aio-lib-ims（^7 \|\| ^8）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @adobe/aio-lib-ims-oauth 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/adobe\_\_aio-lib-ims-oauth 是否存在。

### @adobe/aio-lib-ims-oauth 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @adobe/aio-lib-ims-oauth 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=20。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @adobe/aio-lib-ims-oauth 可以商用吗？

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

### @adobe/aio-lib-ims-oauth 的下载量有多少？

根据 npm 官方下载统计，@adobe/aio-lib-ims-oauth 在 2026/10/05 – 2026/11/03 这 30 天内被下载 48,830 次，日均约 1,628 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @adobe/aio-lib-ims-oauth 还在维护吗？

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

