跳到主要内容

7. SCIM 设备扩展

SCIM 提供各种扩展模式 (extension schema) 及其属性, 并提供 JSON 表示和示例对象. 核心模式通过新的资源类型 (resource type) Device 进行扩展. 该定义中未指定 schemaExtensions 列表. 相反, 已经创建 IANA 注册表条目, 其中 "required" 的所有值均设为 false. 如第 9.2 节所述, 设备模式的所有扩展都 MUST 通过 IANA 注册. 以下模式演示此模型应如何工作. 所有与 SCIM 服务器相关的 schema URI 仅对 Device 资源类型有效.

7.1. Bluetooth Low Energy (BLE) 扩展

此模式扩展设备模式, 用于表示支持 BLE 的设备. 该扩展使用以下 schema URI 标识:

urn:ietf:params:scim:schemas:extension:ble:2.0:Device

属性如下.

7.1.1. 单值属性

deviceMacAddress: 一个字符串值, 表示制造商分配的公共 MAC 地址. 它是唯一的 48-bit 值. 该属性为必需, 不区分大小写, 可变, 并默认返回. ECMA 正则表达式模式 [ECMA] 如下:

^[0-9A-Fa-f]{2}(:[0-9A-Fa-f]{2}){5}$

isRandom: 一个布尔标志. 如果为 false, 设备使用公共 MAC 地址. 如果为 true, 设备使用随机地址. 如果存在 Identifying Resolving Key (IRK), 该地址表示可解析私有地址. 否则, 该地址假定为随机静态地址. 本规范不支持不可解析私有地址. 此属性不是必需的. 它可变并默认返回. 默认值为 false. 有关不同地址类型的更多信息, 请参见 [BLE54] Volume 6, Part B, Section 1.3.

separateBroadcastAddress: 当存在时, 此字符串表示用于广播/通告的地址. 提供 IRK 时, 此值 MUST NOT 被设置. 它的形式与 deviceMacAddress 相同. 它不是必需的. 它是多值, 可变, 并默认返回.

irk: 一个字符串值, 指定 IRK, 该 IRK 对每个设备都是唯一的. 它用于解析私有随机地址. 仅当 isRandom 为 true 时才应配置它. 它可变且永不返回. 有关 IRK 用法的更多信息, 请参见 [BLE54] Volume 1, Part A, Section 5.4.5.

mobility: 一个布尔属性, 用于启用 BLE 设备移动性. 如果设为 true, 则可以预期设备会在 Access Points (APs) 的网络内移动. 例如, 如果 BLE 设备连接到 AP-1 并移出其范围, 但进入 AP-2 的范围, 它将与 AP-1 断开并连接到 AP-2. 它默认返回且可变.

7.1.2. 多值属性

versionSupport: 一个多值字符串集合, 以数组形式指定设备支持的 BLE 版本, 例如, ["4.1", "4.2", "5.0", "5.1", "5.2", "5.3", "5.4"]. 它为必需, 可变, 并默认返回.

pairingMethods: 一个多值字符串集合, 指定与 BLE 设备关联的配对方法. 配对方法可能需要用于设备配对过程的子属性, 例如 key/password. 为了支持未来配对方法的可扩展性, 它们表示为扩展, 以纳入相应配对过程中的各种属性. 配对方法扩展嵌套在 BLE 扩展内部. 它为必需, 区分大小写, 可变, 并默认返回.

7.1.3. BLE 配对方法扩展

配对方法及其关联属性的详细信息位于 [BLE54] Volume 1, Part A, Section 5.2.4. 本备忘录定义了嵌套在 BLE 扩展模式中的 4 个配对方法扩展. 每个扩展都包含第 2.1 节中的通用属性. 这些扩展如下:

pairingNull extension: 使用以下 schema URI 标识:

urn:ietf:params:scim:schemas:extension:pairingNull:2.0:Device

pairingNull 没有任何属性. 它允许不需要配对方法的 BLE 设备进行配对.

pairingJustWorks extension: 使用以下 schema URI 标识:

urn:ietf:params:scim:schemas:extension:pairingJustWorks:2.0:Device

Just Works 配对方法不需要密钥即可配对设备. 为了完整性, 包含 key 属性并将其设为 'null'. key 属性为必需, 不可变, 并默认返回.

pairingPassKey extension: 使用以下 schema URI 标识:

urn:ietf:params:scim:schemas:extension:pairingPassKey:2.0:Device

passkey 配对方法需要 6 位密钥来配对设备. 此扩展有一个单值整数属性 "key", 该属性为必需, 可变, 并默认返回. key 模式如下:

^[0-9]{6}$

pairingOOB extension: 使用以下 schema URI 标识:

urn:ietf:params:scim:schemas:extension:pairingOOB:2.0:Device

out-of-band (OOB) 配对方法包含 3 个单值属性: key, randomNumber 和 confirmationNumber.

key: 一个字符串值, 必需, 并从带外来源接收, 例如 Near Field Communication (NFC). 它区分大小写, 可变, 并默认返回.

randomNumber: 一个整数, 表示添加到 key 的随机数 (nonce). 它是必需属性. 它可变并默认返回.

confirmationNumber: 一个整数, 某些解决方案会在 RESTful 消息交换中要求它, 其中 RESTful 指 Representational State Transfer (REST) 架构. 它不是必需的. 它可变, 如果存在则默认返回.

   +==================+=======+===+=======+=========+========+========+
| Attribute | Multi |Req| Case | Mutable | Return | Unique |
| | Value | | Exact | | | |
+==================+=======+===+=======+=========+========+========+
| deviceMacAddress | F |T | F | RW | Def | Manuf |
+------------------+-------+---+-------+---------+--------+--------+
| isRandom | F |F | F | RW | Def | None |
+------------------+-------+---+-------+---------+--------+--------+
| sepBroadcastAdd | T |F | F | RW | Def | None |
+------------------+-------+---+-------+---------+--------+--------+
| irk | F |F | F | WO | Nev | Manuf |
+------------------+-------+---+-------+---------+--------+--------+
| versionSupport | T |T | F | RW | Def | None |
+------------------+-------+---+-------+---------+--------+--------+
| mobility | F |F | F | RW | Def | None |
+------------------+-------+---+-------+---------+--------+--------+
| pairingMethods | T |T | T | RW | Def | None |
+------------------+-------+---+-------+---------+--------+--------+

Table 3: Characteristics of BLE Extension Schema Attributes

Legend: sepBroadcastAdd = separateBroadcastAddress, Req = Required,
T = True, F = False, RW = ReadWrite, WO = WriteOnly,
Def = Default, Nev = Never, Manuf = Manufacturer

示例:

   <CODE BEGINS>
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Device",
"urn:ietf:params:scim:schemas:extension:ble:2.0:Device"],

"id": "e9e30dba-f08f-4109-8486-d5c6a3316111",
"displayName": "BLE Heart Monitor",
"active": true,
"urn:ietf:params:scim:schemas:extension:ble:2.0:Device" : {
"versionSupport": ["5.4"],
"deviceMacAddress": "2C:54:91:88:C9:E2",
"isRandom": false,
"separateBroadcastAddress": ["AA:BB:88:77:22:11", "AA:BB:88:77:\
22:12"],
"mobility": true,
"pairingMethods": ["urn:ietf:params:scim:schemas:extension:\
pairingPassKey:2.0:Device"],
"urn:ietf:params:scim:schemas:extension:pairingPassKey:2.0:\
Device" : {
"key": 123456
}
},
"meta": {
"resourceType": "Device",
"created": "2022-01-23T04:56:22Z",
"lastModified": "2022-05-13T04:42:34Z",
"version": "W\/\"a330bc54f0671c9\"",
"location": "https://example.com/v2/Devices/e9e30dba-f08f-4109-\
8486-d5c6a3316111"
}
}
<CODE ENDS>

Figure 5: BLE Example

在上述示例中, 配对方法是 "pairingPassKey", 这意味着此 BLE 设备仅使用 passkey 进行配对. 在下面另一个示例中, 配对方法是 "pairingOOB", 表示此 BLE 设备使用 out-of-band 配对方法.

示例:

   <CODE BEGINS>
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Device",
"urn:ietf:params:scim:schemas:extension:ble:2.0:Device"],

"id": "e9e30dba-f08f-4109-8486-d5c6a3316111",
"displayName": "BLE Heart Monitor",
"active": true,
"urn:ietf:params:scim:schemas:extension:ble:2.0:Device" : {
"versionSupport": ["5.4"],
"deviceMacAddress": "2C:54:91:88:C9:E2",
"isRandom": false,
"separateBroadcastAddress": ["AA:BB:88:77:22:11", "AA:BB:88:77:\
22:12"],
"mobility": true,
"pairingMethods": ["urn:ietf:params:scim:schemas:extension:\
pairingOOB:2.0:Device"],
"urn:ietf:params:scim:schemas:extension:pairingOOB:2.0:Device": {
"key": "TheKeyvalueRetrievedFromOOB",
"randomNumber": 238796813516896
}
},
"meta": {
"resourceType": "Device",
"created": "2022-01-23T04:56:22Z",
"lastModified": "2022-05-13T04:42:34Z",
"version": "W\/\"a330bc54f0671c9\"",
"location": "https://example.com/v2/Devices/e9e30dba-f08f-4109-\
8486-d5c6a3316111"
}
}
<CODE ENDS>

Figure 6: BLE with pairingOOB

但是, 一个设备可以具有多个配对方法. 多值属性 pairingMethods 也提供对多个配对方法的支持. 在下面的示例中, BLE 设备可以同时使用 passkey 和 OOB 配对方法进行配对.

示例:

   <CODE BEGINS>
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Device",
"urn:ietf:params:scim:schemas:extension:ble:2.0:Device"],

"id": "e9e30dba-f08f-4109-8486-d5c6a3316111",
"displayName": "BLE Heart Monitor",
"active": true,
"urn:ietf:params:scim:schemas:extension:ble:2.0:Device" : {
"versionSupport": ["5.4"],
"deviceMacAddress": "2C:54:91:88:C9:E2",
"isRandom": false,
"separateBroadcastAddress": ["AA:BB:88:77:22:11", "AA:BB:88:77:\
22:12"],
"mobility": true,
"pairingMethods": ["urn:ietf:params:scim:schemas:extension:\
pairingPassKey:2.0:Device",
"urn:ietf:params:scim:schemas:extension:pairingOOB:2.0:\
Device"],
"urn:ietf:params:scim:schemas:extension:pairingPassKey:2.0:\
Device" : {
"key": 123456
},
"urn:ietf:params:scim:schemas:extension:pairingOOB:2.0:Device": {
"key": "TheKeyvalueRetrievedFromOOB",
"randomNumber": 238796813516896
}
},
"meta": {
"resourceType": "Device",
"created": "2022-01-23T04:56:22Z",
"lastModified": "2022-05-13T04:42:34Z",
"version": "W\/\"a330bc54f0671c9\"",
"location": "https://example.com/v2/Devices/e9e30dba-f08f-4109-\
8486-d5c6a3316111"
}
}
<CODE ENDS>

Figure 7: BLE Pairing with Both Passkey and OOB

7.2. Wi-Fi Easy Connect 扩展

本节描述一个扩展设备模式的模式, 用于启用 Wi-Fi Easy Connect, 也称为 Device Provisioning Protocol (DPP). 在本规范全文中, 我们使用术语 "DPP". 该扩展使用以下 schema URI 标识:

urn:ietf:params:scim:schemas:extension:dpp:2.0:Device

此扩展中的属性采用自 [DPP2]. 属性如下.

7.2.1. 单值属性

dppVersion: 一个整数, 表示设备支持的 DPP 版本. 此属性为必需, 不区分大小写, 可变, 并默认返回.

bootstrapKey: 一个字符串值, 表示 Elliptic Curve Diffie-Hellman (ECDH) 公钥. P-256, P-384 和 P-521 的 base64 编码长度分别为 80, 96 和 120 个字符. 此属性为必需, 区分大小写, 只写, 且永不返回.

deviceMacAddress: 以字符串形式存储的 MAC 地址. 它是唯一的 48-bit 值. 此属性可选, 不区分大小写, 可变, 并默认返回. 它的形式与 BLE 设备的 deviceMacAddress 相同.

serialNumber: 以字符串形式存储的字母数字序列号. 它也可以作为引导信息传递. 此属性可选, 不区分大小写, 可变, 并默认返回.

7.2.2. 多值属性

bootstrappingMethod: enrollee 设备上可用的所有引导方法的一个或多个字符串, 例如, [QR, NFC]. 此属性可选, 不区分大小写, 可变, 并默认返回.

classChannel: 一个或多个字符串, 表示作为引导信息共享的全局操作类别和信道. 其格式为 class/channel, 例如, ['81/1','115/36']. 此属性可选, 不区分大小写, 可变, 并默认返回.

    +=====================+=====+===+=====+=========+========+========+
| Attribute |Multi|Req|Case | Mutable | Return | Unique |
| |Value| |Exact| | | |
+=====================+=====+===+=====+=========+========+========+
| dppVersion |F |T |F | RW | Def | None |
+---------------------+-----+---+-----+---------+--------+--------+
| bootstrapKey |F |T |T | WO | Nev | None |
+---------------------+-----+---+-----+---------+--------+--------+
| deviceMacAddress |F |F |F | RW | Def | Manuf |
+---------------------+-----+---+-----+---------+--------+--------+
| serialNumber |F |F |F | RW | Def | None |
+---------------------+-----+---+-----+---------+--------+--------+
| bootstrappingMethod |T |F |F | RW | Def | None |
+---------------------+-----+---+-----+---------+--------+--------+
| classChannel |T |F |F | RW | Def | None |
+---------------------+-----+---+-----+---------+--------+--------+

Table 4: Characteristics of DPP Extension Schema Attributes

Legend: Req = Required, T = True, F = False, RW = ReadWrite,
WO = WriteOnly, Def = Default, Nev = Never,
Manuf = Manufacturer

示例:

   <CODE BEGINS>
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Device",
"urn:ietf:params:scim:schemas:extension:dpp:2.0:\
Device"],

"id": "e9e30dba-f08f-4109-8486-d5c6a3316111",
"displayName": "WiFi Heart Monitor",
"active": true,
"urn:ietf:params:scim:schemas:extension:dpp:2.0:Device" : {
"dppVersion": 2,
"bootstrappingMethod": ["QR"],
"bootstrapKey": "\
MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgADURzxmttZoIRIPWGoQMV00XHWCAQIhXru\
VWOz0NjlkIA=",
"deviceMacAddress": "2C:54:91:88:C9:F2",
"classChannel": ["81/1", "115/36"],
"serialNumber": "4774LH2b4044"
},

"meta": {
"resourceType": "Device",
"created": "2022-01-23T04:56:22Z",
"lastModified": "2022-05-13T04:42:34Z",
"version": "W\/\"a330bc54f0671c9\"",
"location": "https://example.com/v2/Devices/e9e30dba-f08f-\
4109-8486-d5c6a3316111"
}
}
<CODE ENDS>

Figure 8: DPP Example

7.3. Ethernet MAB 扩展

此扩展启用一种旧式的, 非常弱的认证方式, 称为 MAC Authenticated Bypass (MAB), 许多有线以太网解决方案都支持这种方式. 如果 MAC 地址已知, 则可以允许该设备访问, 也许是受限访问. 该扩展由以下 URI 标识:

urn:ietf:params:scim:schemas:extension:ethernet-mab:2.0:Device

请注意, 此方法不太可能与 MAC 地址随机化正常配合.

7.3.1. 单一属性

此扩展有一个单值属性:

deviceMacAddress: 这是要配置到网络上的 Ethernet 地址. 它采用与 BLE 扩展中相同的形式.

   +==================+=======+===+=======+=========+========+========+
| Attribute | Multi |Req| Case | Mutable | Return | Unique |
| | Value | | Exact | | | |
+==================+=======+===+=======+=========+========+========+
| deviceMacAddress | F |T | F | RW | Def | None |
+------------------+-------+---+-------+---------+--------+--------+

Table 5: Characteristics of MAB Extension Schema Attributes

Legend: Req = Required, T = True, F = False, RW = ReadWrite,
Def = Default

示例:

   <CODE BEGINS>
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Device",
"urn:ietf:params:scim:schemas:extension:ethernet-mab:2.0:Device\
"],

"id": "e9e30dba-f08f-4109-8486-d5c6a3316111",
"displayName": "Some random Ethernet Device",
"active": true,
"urn:ietf:params:scim:schemas:extension:ethernet-mab:2.0:Device" \
: {
"deviceMacAddress": "2C:54:91:88:C9:E2"
},

"meta": {
"resourceType": "Device",
"created": "2022-01-23T04:56:22Z",
"lastModified": "2022-05-13T04:42:34Z",
"version": "W\/\"a330bc54f0671c9\"",
"location": "https://example.com/v2/Devices/e9e30dba-f08f-4109-\
8486-d5c6a3316111"
}
}
<CODE ENDS>

Figure 9: MAB Example

7.4. FIDO Device Onboard 扩展

此扩展指定一个 voucher, 供 FDO Device Onboard (FDO) 协议 [FDO11] 使用, 以完成将设备所有权和控制权可信转移到环境中的过程. SCIM 服务器 MUST 知道如何处理该 voucher, 可直接处理, 也可按照 FDO 规范中的定义将其转发给所有者进程. 该扩展使用以下 schema URI 标识:

urn:ietf:params:scim:schemas:extension:fido-device-onboard:2.0:Device

7.4.1. 单一属性

此扩展有一个单值属性:

fdoVoucher: voucher 按照 [FDO11] 格式化为 PEM 编码对象.

     +============+=======+=====+=======+=========+========+========+
| Attribute | Multi | Req | Case | Mutable | Return | Unique |
| | Value | | Exact | | | |
+============+=======+=====+=======+=========+========+========+
| fdoVoucher | F | T | F | WO | Nev | None |
+------------+-------+-----+-------+---------+--------+--------+

Table 6: Characteristics of FDO Extension Schema Attributes

Legend: Req = Required, T = True, F = False, WO = WriteOnly,
Nev = Never

示例:

   <CODE BEGINS>
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Device",
"urn:ietf:params:scim:schemas:extension:fido-device-onboard:2.0\
:Device"],

"id": "e9e30dba-f08f-4109-8486-d5c6a3316111",
"displayName": "Some random Ethernet Device",
"active": true,
"urn:ietf:params:scim:schemas:extension:fido-device-onboard:2.0:\
Device" : {
"fdoVoucher": "{... voucher ...}"
},

"meta": {
"resourceType": "Device",
"created": "2022-01-23T04:56:22Z",
"lastModified": "2022-05-13T04:42:34Z",
"version": "W\/\"a330bc54f0671c9\"",
"location": "https://example.com/v2/Devices/e9e30dba-f08f-4109-\
8486-d5c6a3316111"
}
}
<CODE ENDS>

Figure 10: FDO Example

7.5. Zigbee 扩展

本节描述一个扩展设备模式的模式, 用于启用 Zigbee 设备 [Zigbee] 的配置. 该扩展使用以下 schema URI 标识:

urn:ietf:params:scim:schemas:extension:zigbee:2.0:Device

它有一个单值属性和一个多值属性. 属性如下.

7.5.1. 单值属性

deviceEui64Address: 一个 64-bit Extended Unique Identifier (EUI-64) 设备地址, 以字符串形式存储. 此属性为必需, 不区分大小写, 可变, 并默认返回. 它采用与 BLE 扩展中的 deviceMacAddress 相同的形式.

7.5.2. 多值属性

versionSupport: 设备支持的所有 Zigbee 版本的一个或多个字符串, 例如, [3.0]. 此属性为必需, 不区分大小写, 可变, 并默认返回.

   +====================+=====+===+=======+=========+========+========+
| Attribute |Multi|Req| Case | Mutable | Return | Unique |
| |Value| | Exact | | | |
+====================+=====+===+=======+=========+========+========+
| deviceEui64Address |F |T | F | RW | Def | None |
+--------------------+-----+---+-------+---------+--------+--------+
| versionSupport |T |T | F | RW | Def | None |
+--------------------+-----+---+-------+---------+--------+--------+

Table 7: Characteristics of Zigbee Extension Schema Attributes

Legend: Req = Required, T = True, F = False, RW = ReadWrite,
Def = Default

示例:

   <CODE BEGINS>
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Device",
"urn:ietf:params:scim:schemas:extension:zigbee:2.0:Device"],

"id": "e9e30dba-f08f-4109-8486-d5c6a3316111",
"displayName": "Zigbee Heart Monitor",
"active": true,
"urn:ietf:params:scim:schemas:extension:zigbee:2.0:Device" : {
"versionSupport": ["3.0"],
"deviceEui64Address": "50:32:5F:FF:FE:E7:67:28"
},

"meta": {
"resourceType": "Device",
"created": "2022-01-23T04:56:22Z",
"lastModified": "2022-05-13T04:42:34Z",
"version": "W\/\"a330bc54f0671c9\"",
"location": "https://example.com/v2/Devices/e9e30dba-f08f-4109-\
8486-d5c6a3316111"
}
}
<CODE ENDS>

Figure 11: Zigbee Example

7.6. 端点应用程序扩展模式

有时, 使用 BLE 或 Zigbee 的非 IP 设备需要应用程序网关接口来管理它们.

endpointAppsExt 提供连接到企业网关的应用程序列表. endpointAppsExt 有一个多值属性和两个单值属性. 该扩展使用以下 schema URI 标识:

urn:ietf:params:scim:schemas:extension:endpointAppsExt:2.0:Device

7.6.1. 单值属性

deviceControlEnterpriseEndpoint: 一个字符串, 表示用于到达企业网关的企业端点 URL. 当企业从 onboarding application 接收 SCIM 对象时, 它将此属性添加到该对象, 并将其作为响应发送回 onboarding application. 此属性为必需, 区分大小写, 只读, 并默认返回. 唯一性由企业强制执行.

telemetryEnterpriseEndpoint: 一个字符串, 表示用于到达企业网关以进行遥测的企业端点 URL. 当企业从 onboarding application 接收 SCIM 对象时, 它将此属性添加到该对象, 并将其作为响应发送回 onboarding application. 此属性可选, 区分大小写, 只读, 并默认返回. 唯一性由企业强制执行. 当企业提供遥测端点时, 例如由企业网关托管, 会填充此属性. 如果 SCIM 服务器不知道遥测服务, 则不会返回该属性. 在这种情况下, 如果应用程序需要遥测, 必须另行安排.

7.6.2. 多值属性

applications: 一个多值属性, 由一个或多个复杂属性组成, 表示 endpoint applications 列表, 即 deviceControl 和 telemetry. 列表中的每个条目都包含两个属性, 包括 "value" 和 "$ref".

value: 一个字符串, 包含格式化为 Universally Unique Identifier (UUID) 的 endpoint application 标识符. 它与资源 EndpointApp 的通用属性 "$id" 相同. 它可读/写, 必需, 不区分大小写, 并默认返回.

$ref: 对存储在 SCIM 服务器中的相应 EndpointApp 资源对象的引用. 它为 readOnly, 必需, 区分大小写, 并默认返回.

   +====================+=====+===+=======+=========+========+========+
| Attribute |Multi|Req| Case | Mutable | Return | Unique |
| |Value| | Exact | | | |
+====================+=====+===+=======+=========+========+========+
| devContEntEndpoint |F |T | T | RO | Def | Ent |
+--------------------+-----+---+-------+---------+--------+--------+
| telEntEndpoint |F |F | T | RO | Def | Ent |
+--------------------+-----+---+-------+---------+--------+--------+
| applications |T |T | F | RW | Def | None |
+--------------------+-----+---+-------+---------+--------+--------+
| value |F |T | F | RW | Def | None |
+--------------------+-----+---+-------+---------+--------+--------+
| $ref |F |T | T | RO | Def | None |
+--------------------+-----+---+-------+---------+--------+--------+

Table 8: Characteristics of endpointAppsExt Extension Schema
Attributes

Legend: devContEntEndpoint = deviceControlEnterpriseEndpoint,
telEntEndpoint = telemetryEnterpriseEndpoint,
Req = Required, T = True, F = False, RO = ReadOnly,
RW = ReadWrite, Ent = Enterprise, Def = Default

示例:

   <CODE BEGINS>
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Device",
"urn:ietf:params:scim:schemas:extension:ble:2.0:Device",
"urn:ietf:params:scim:schemas:extension:endpointAppsExt:2.0:\
Device"],
"id": "e9e30dba-f08f-4109-8486-d5c6a3316111",
"displayName": "BLE Heart Monitor",
"active": true,
"urn:ietf:params:scim:schemas:extension:ble:2.0:Device" : {
"versionSupport": ["5.4"],
"deviceMacAddress": "2C:54:91:88:C9:E2",
"isRandom": false,
"separateBroadcastAddress": ["AA:BB:88:77:22:11", "AA:BB:88:77:\
22:12"],
"mobility": false,
"pairingMethods": [
"urn:ietf:params:scim:schemas:extension:pairingPassKey:2.0:\
Device"],
"urn:ietf:params:scim:schemas:extension:pairingPassKey:2.0:\
Device" : {
"key": 123456
}
},
"urn:ietf:params:scim:schemas:extension:endpointAppsExt:2.0:Device\
": {
"applications": [
{
"value" : "e9e30dba-f08f-4109-8486-d5c6a3316212",
"$ref" : "https://example.com/v2/EndpointApps/e9e30dba-f08f-\
4109-8486-d5c6a3316212"
},
{
"value" : "e9e30dba-f08f-4109-8486-d5c6a3316333",
"$ref" : "https://example.com/v2/EndpointApps/e9e30dba-f08f-\
4109-8486-d5c6a3316333"
}
],
"deviceControlEnterpriseEndpoint": "https://example.com/\
device_control_app_endpoint/",
"telemetryEnterpriseEndpoint": "mqtts://example.com/\
telemetry_app_endpoint/"
},
"meta": {
"resourceType": "Device",
"created": "2022-01-23T04:56:22Z",
"lastModified": "2022-05-13T04:42:34Z",
"version": "W\/\"a330bc54f0671c9\"",
"location": "https://example.com/v2/Devices/e9e30dba-f08f-4109-\
8486-d5c6a3316111"
}
}
<CODE ENDS>

Figure 12: Endpoint Applications Extension Example

endpointAppsExt 扩展以及 BLE 扩展的模式以 JSON 格式呈现在 Appendix A.9 中, OpenAPI 表示则在 Appendix B.8 中提供.