# @asymmetrik/sof-scope-checker 中文文档

规范地址：https://npmcn.com/package/%40asymmetrik/sof-scope-checker/

版本：1\.0\.7
npm 元数据更新时间：2026-03-13T16:28:50.661Z
中文译文更新时间：2026-11-07T01:39:23.615Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40asymmetrik/sof-scope-checker
原文对照：https://npmcn.com/package/%40asymmetrik/sof-scope-checker/?lang=original
项目主页：https://github.com/Asymmetrik/phx-tools
源码仓库：https://github.com/Asymmetrik/phx-tools

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

- 包体积（解压后）：8 kB，6 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：0 个
- 首次发布：2018-12-19T13:47:23.153Z
- 最新版本发布：2020-09-23T02:15:52.920Z
- 近 30 天下载量：3310（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：6（近 12 个月 0 个）

## 中文简介

FHIR 瞄准镜检查器上的智能

## 安装

```sh
npm install @asymmetrik/sof-scope-checker
```

也可以使用：`pnpm add @asymmetrik/sof-scope-checker`、`yarn add @asymmetrik/sof-scope-checker`、`bun add @asymmetrik/sof-scope-checker`

## README

# `SOF-Scope-Checker`

> 在FHIR规格上用于验证SMART患者和用户级别范围的工具.

# 安装

```shell
yarn add @asymmetrik/sof-scope-checker
```

## 使用量

```
const scopeChecker = require('@asymmetrik/sof-scope-checker');

let hasValidScopes = (name, action) => {
  return function (req, res, next) {
    let scopes = parseScopes(req && req.user);
    let { error, success } = scopeChecker(name, action, scopes);

    // Log the error, wrap in operation outcome or GraphQL specific error
    // You can check the type of the error as well since we use custom errors

    if (error) {
      next(error);
    } else {
      next();
    }
  }
};

app.get(
  '/Patient',
  hasValidScopes('Patient', 'read'),
  patientController
)
```

见 [扫描仪测试](https://github.com/Asymmetrik/phx-tools/blob/master/packages/sof-scope-checker/index.test.js) 用于更多使用实例.

注:返回的错误是本地JS错误的扩展. 它在错误中添加一个类型属性, 其值可能为“ 内部 ” 表示错误配置, 或“ 禁止” 表示范围不足的情况 .

## 参数

`@asymmetrik/sof-scope-checker` 导出一个函数,该函数需要三个参数.

#### `name`

资源或病人名称.

类型 : `String`  
要求 : `true`

#### `action`

用户想要采取的行动 。 可能会 `read`, (中文(简体) ), `write`,或 `*`。 。 。 .

类型 : `String`  
要求 : `true`

#### `scopes`

用户可用的范围.

类型 : `Array<String>`  
要求 : `true`

## 常见问题

### @asymmetrik/sof-scope-checker 是什么？

FHIR 瞄准镜检查器上的智能

### 如何安装 @asymmetrik/sof-scope-checker？

在项目目录运行 npm install @asymmetrik/sof-scope-checker，或使用 pnpm add / yarn add / bun add。

### @asymmetrik/sof-scope-checker 支持 TypeScript 吗？

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

### @asymmetrik/sof-scope-checker 支持 ESM 还是 CommonJS？

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

### @asymmetrik/sof-scope-checker 可以商用吗？

@asymmetrik/sof-scope-checker 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @asymmetrik/sof-scope-checker 的下载量有多少？

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

### @asymmetrik/sof-scope-checker 还在维护吗？

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

