@limecloud/cli 0.6.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +89 -2
- package/dist/identity.json +826 -57
- package/dist/knowledge.json +1 -0
- package/dist/management.json +8627 -3138
- package/dist/skills.json +1 -0
- package/package.json +2 -2
- package/src/action-contracts.mjs +63 -0
- package/src/cli.mjs +115 -31
- package/src/commands.mjs +6 -3
- package/src/compatibility.mjs +89 -0
- package/src/contract.mjs +12 -4
- package/src/diagnose.mjs +99 -0
- package/src/group-task.mjs +137 -0
- package/src/knowledge.mjs +171 -0
- package/src/locales/en.json +68 -4
- package/src/locales/zh-CN.json +68 -4
- package/src/management.mjs +7 -0
- package/src/output.mjs +8 -5
- package/src/product-skills.mjs +146 -0
- package/src/protocol.mjs +2 -1
- package/src/public-json.mjs +17 -0
- package/src/storage.mjs +19 -2
package/dist/identity.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"openapi": "3.1.0",
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "Lime Identity API",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.10.0",
|
|
6
6
|
"description": "Implemented public OAuth 2.0 and OpenID Connect endpoints. Plain protocol responses; separate from authenticated management BFF APIs."
|
|
7
7
|
},
|
|
8
8
|
"servers": [
|
|
@@ -77,11 +77,18 @@
|
|
|
77
77
|
"name": "redirect_uri",
|
|
78
78
|
"in": "query",
|
|
79
79
|
"required": true,
|
|
80
|
-
"description": "Exact registered callback.
|
|
81
|
-
"x-lime-zh-CN": "精确匹配已登记回调。生产要求 HTTPS;沙箱可使用显式登记的 HTTP 回环地址。",
|
|
80
|
+
"description": "Exact registered callback. Ordinary production clients require HTTPS. Only the dedicated native MCP client may use a registered numeric 127.0.0.1 HTTP callback; a registration without a port permits the host-selected port while preserving the exact path.",
|
|
82
81
|
"schema": {
|
|
83
82
|
"type": "string",
|
|
84
83
|
"format": "uri"
|
|
84
|
+
},
|
|
85
|
+
"x-lime-localizations": {
|
|
86
|
+
"en": {
|
|
87
|
+
"description": "Exact registered callback. Ordinary production clients require HTTPS. Only the dedicated native MCP client may use a registered numeric 127.0.0.1 HTTP callback; a registration without a port permits the host-selected port while preserving the exact path."
|
|
88
|
+
},
|
|
89
|
+
"zh-CN": {
|
|
90
|
+
"description": "精确登记的回调。普通生产客户端要求 HTTPS;仅专用原生 MCP 客户端可使用登记的数值 127.0.0.1 HTTP 回调,未登记端口时允许宿主选择端口,路径仍须精确一致。"
|
|
91
|
+
}
|
|
85
92
|
}
|
|
86
93
|
},
|
|
87
94
|
{
|
|
@@ -206,6 +213,25 @@
|
|
|
206
213
|
"type": "string",
|
|
207
214
|
"maxLength": 40
|
|
208
215
|
}
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"name": "resource",
|
|
219
|
+
"in": "query",
|
|
220
|
+
"required": false,
|
|
221
|
+
"schema": {
|
|
222
|
+
"type": "string",
|
|
223
|
+
"format": "uri",
|
|
224
|
+
"maxLength": 2048
|
|
225
|
+
},
|
|
226
|
+
"description": "Required exactly once for the explicitly provisioned MCP client: the canonical API origin plus /mcp. Do not send audience, installation or space selectors. Ordinary user clients cannot use this MCP resource parameter.",
|
|
227
|
+
"x-lime-localizations": {
|
|
228
|
+
"en": {
|
|
229
|
+
"description": "Required exactly once for the explicitly provisioned MCP client: the canonical API origin plus /mcp. Do not send audience, installation or space selectors. Ordinary user clients cannot use this MCP resource parameter."
|
|
230
|
+
},
|
|
231
|
+
"zh-CN": {
|
|
232
|
+
"description": "显式登记的 MCP 客户端必须准确提供一次:规范 API Origin 加 /mcp。不发送 audience、安装或空间选择;普通用户客户端不能使用此 MCP resource 参数。"
|
|
233
|
+
}
|
|
234
|
+
}
|
|
209
235
|
}
|
|
210
236
|
],
|
|
211
237
|
"responses": {
|
|
@@ -263,9 +289,9 @@
|
|
|
263
289
|
}
|
|
264
290
|
}
|
|
265
291
|
},
|
|
266
|
-
"
|
|
267
|
-
"description": "
|
|
268
|
-
"x-lime-zh-CN": "
|
|
292
|
+
"500": {
|
|
293
|
+
"description": "Protocol processing failed.",
|
|
294
|
+
"x-lime-zh-CN": "协议处理失败。",
|
|
269
295
|
"content": {
|
|
270
296
|
"application/json": {
|
|
271
297
|
"schema": {
|
|
@@ -274,9 +300,9 @@
|
|
|
274
300
|
}
|
|
275
301
|
}
|
|
276
302
|
},
|
|
277
|
-
"
|
|
278
|
-
"description": "
|
|
279
|
-
"x-lime-zh-CN": "
|
|
303
|
+
"503": {
|
|
304
|
+
"description": "A required dependency is unavailable.",
|
|
305
|
+
"x-lime-zh-CN": "必要依赖暂时不可用。",
|
|
280
306
|
"content": {
|
|
281
307
|
"application/json": {
|
|
282
308
|
"schema": {
|
|
@@ -293,8 +319,7 @@
|
|
|
293
319
|
"operationId": "identity_token",
|
|
294
320
|
"summary": "Exchange or refresh tokens",
|
|
295
321
|
"x-lime-summary-zh-CN": "兑换或刷新令牌",
|
|
296
|
-
"description": "
|
|
297
|
-
"x-lime-zh-CN": "使用表单编码,不接收 JSON。公共客户端提交 client_id,不持有 Secret;机密与机器客户端使用 client_secret_basic。所有授权码客户端均要求 S256。安装上下文在兑换前冻结,此处拒绝 installation_id、space_id、expected_generation、expected_release_id。响应直接为 OAuth JSON,没有 data 包装。",
|
|
322
|
+
"description": "Use form encoding, not JSON. Public clients send client_id without a secret; confidential and machine clients use HTTP Basic. All authorization-code clients require S256. Installation context is frozen before exchange and cannot be supplied here. A production business machine request selects one current customer ClientGrant, one exact Audience and explicit scopes. Responses are plain OAuth JSON without a data envelope.",
|
|
298
323
|
"tags": [
|
|
299
324
|
"Identity"
|
|
300
325
|
],
|
|
@@ -348,6 +373,24 @@
|
|
|
348
373
|
}
|
|
349
374
|
}
|
|
350
375
|
},
|
|
376
|
+
"403": {
|
|
377
|
+
"description": "The client, customer approval, Audience or requested scope is not currently allowed. Do not retry unchanged requests or substitute another customer context.",
|
|
378
|
+
"x-lime-localizations": {
|
|
379
|
+
"en": {
|
|
380
|
+
"description": "The client, customer approval, Audience or requested scope is not currently allowed. Do not retry unchanged requests or substitute another customer context."
|
|
381
|
+
},
|
|
382
|
+
"zh-CN": {
|
|
383
|
+
"description": "当前 Client、客户批准、Audience 或所请求 Scope 不允许。不要原样重试或替换其他客户上下文。"
|
|
384
|
+
}
|
|
385
|
+
},
|
|
386
|
+
"content": {
|
|
387
|
+
"application/json": {
|
|
388
|
+
"schema": {
|
|
389
|
+
"$ref": "#/components/schemas/OAuthError"
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
},
|
|
351
394
|
"429": {
|
|
352
395
|
"description": "Rate limit exceeded. Wait before retrying.",
|
|
353
396
|
"x-lime-zh-CN": "请求超过限流窗口,等待后重试。",
|
|
@@ -367,9 +410,9 @@
|
|
|
367
410
|
}
|
|
368
411
|
}
|
|
369
412
|
},
|
|
370
|
-
"
|
|
371
|
-
"description": "
|
|
372
|
-
"x-lime-zh-CN": "
|
|
413
|
+
"500": {
|
|
414
|
+
"description": "Protocol processing failed.",
|
|
415
|
+
"x-lime-zh-CN": "协议处理失败。",
|
|
373
416
|
"content": {
|
|
374
417
|
"application/json": {
|
|
375
418
|
"schema": {
|
|
@@ -378,9 +421,9 @@
|
|
|
378
421
|
}
|
|
379
422
|
}
|
|
380
423
|
},
|
|
381
|
-
"
|
|
382
|
-
"description": "
|
|
383
|
-
"x-lime-zh-CN": "
|
|
424
|
+
"503": {
|
|
425
|
+
"description": "A required dependency is unavailable.",
|
|
426
|
+
"x-lime-zh-CN": "必要依赖暂时不可用。",
|
|
384
427
|
"content": {
|
|
385
428
|
"application/json": {
|
|
386
429
|
"schema": {
|
|
@@ -389,6 +432,14 @@
|
|
|
389
432
|
}
|
|
390
433
|
}
|
|
391
434
|
}
|
|
435
|
+
},
|
|
436
|
+
"x-lime-localizations": {
|
|
437
|
+
"en": {
|
|
438
|
+
"description": "Use form encoding, not JSON. Public clients send client_id without a secret; confidential and machine clients use HTTP Basic. All authorization-code clients require S256. Installation context is frozen before exchange and cannot be supplied here. A production business machine request selects one current customer ClientGrant, one exact Audience and explicit scopes. Responses are plain OAuth JSON without a data envelope."
|
|
439
|
+
},
|
|
440
|
+
"zh-CN": {
|
|
441
|
+
"description": "使用表单编码,不接收 JSON。公共客户端提交 client_id,不持有 Secret;机密与机器客户端使用 HTTP Basic。所有授权码客户端均要求 S256。安装上下文在兑换前冻结,不能在此提交。生产业务机器请求选择一个当前客户 ClientGrant、一个精确 Audience 和显式 Scope。响应直接为 OAuth JSON,没有 data 包装。"
|
|
442
|
+
}
|
|
392
443
|
}
|
|
393
444
|
}
|
|
394
445
|
},
|
|
@@ -471,9 +522,9 @@
|
|
|
471
522
|
}
|
|
472
523
|
}
|
|
473
524
|
},
|
|
474
|
-
"
|
|
475
|
-
"description": "
|
|
476
|
-
"x-lime-zh-CN": "
|
|
525
|
+
"500": {
|
|
526
|
+
"description": "Protocol processing failed.",
|
|
527
|
+
"x-lime-zh-CN": "协议处理失败。",
|
|
477
528
|
"content": {
|
|
478
529
|
"application/json": {
|
|
479
530
|
"schema": {
|
|
@@ -482,9 +533,9 @@
|
|
|
482
533
|
}
|
|
483
534
|
}
|
|
484
535
|
},
|
|
485
|
-
"
|
|
486
|
-
"description": "
|
|
487
|
-
"x-lime-zh-CN": "
|
|
536
|
+
"503": {
|
|
537
|
+
"description": "A required dependency is unavailable.",
|
|
538
|
+
"x-lime-zh-CN": "必要依赖暂时不可用。",
|
|
488
539
|
"content": {
|
|
489
540
|
"application/json": {
|
|
490
541
|
"schema": {
|
|
@@ -564,9 +615,9 @@
|
|
|
564
615
|
}
|
|
565
616
|
}
|
|
566
617
|
},
|
|
567
|
-
"
|
|
568
|
-
"description": "
|
|
569
|
-
"x-lime-zh-CN": "
|
|
618
|
+
"500": {
|
|
619
|
+
"description": "Protocol processing failed.",
|
|
620
|
+
"x-lime-zh-CN": "协议处理失败。",
|
|
570
621
|
"content": {
|
|
571
622
|
"application/json": {
|
|
572
623
|
"schema": {
|
|
@@ -575,9 +626,9 @@
|
|
|
575
626
|
}
|
|
576
627
|
}
|
|
577
628
|
},
|
|
578
|
-
"
|
|
579
|
-
"description": "
|
|
580
|
-
"x-lime-zh-CN": "
|
|
629
|
+
"503": {
|
|
630
|
+
"description": "A required dependency is unavailable.",
|
|
631
|
+
"x-lime-zh-CN": "必要依赖暂时不可用。",
|
|
581
632
|
"content": {
|
|
582
633
|
"application/json": {
|
|
583
634
|
"schema": {
|
|
@@ -655,9 +706,9 @@
|
|
|
655
706
|
}
|
|
656
707
|
}
|
|
657
708
|
},
|
|
658
|
-
"
|
|
659
|
-
"description": "
|
|
660
|
-
"x-lime-zh-CN": "
|
|
709
|
+
"500": {
|
|
710
|
+
"description": "Protocol processing failed.",
|
|
711
|
+
"x-lime-zh-CN": "协议处理失败。",
|
|
661
712
|
"content": {
|
|
662
713
|
"application/json": {
|
|
663
714
|
"schema": {
|
|
@@ -666,9 +717,9 @@
|
|
|
666
717
|
}
|
|
667
718
|
}
|
|
668
719
|
},
|
|
669
|
-
"
|
|
670
|
-
"description": "
|
|
671
|
-
"x-lime-zh-CN": "
|
|
720
|
+
"503": {
|
|
721
|
+
"description": "A required dependency is unavailable.",
|
|
722
|
+
"x-lime-zh-CN": "必要依赖暂时不可用。",
|
|
672
723
|
"content": {
|
|
673
724
|
"application/json": {
|
|
674
725
|
"schema": {
|
|
@@ -778,9 +829,9 @@
|
|
|
778
829
|
}
|
|
779
830
|
}
|
|
780
831
|
},
|
|
781
|
-
"
|
|
782
|
-
"description": "
|
|
783
|
-
"x-lime-zh-CN": "
|
|
832
|
+
"500": {
|
|
833
|
+
"description": "Protocol processing failed.",
|
|
834
|
+
"x-lime-zh-CN": "协议处理失败。",
|
|
784
835
|
"content": {
|
|
785
836
|
"application/json": {
|
|
786
837
|
"schema": {
|
|
@@ -789,9 +840,9 @@
|
|
|
789
840
|
}
|
|
790
841
|
}
|
|
791
842
|
},
|
|
792
|
-
"
|
|
793
|
-
"description": "
|
|
794
|
-
"x-lime-zh-CN": "
|
|
843
|
+
"503": {
|
|
844
|
+
"description": "A required dependency is unavailable.",
|
|
845
|
+
"x-lime-zh-CN": "必要依赖暂时不可用。",
|
|
795
846
|
"content": {
|
|
796
847
|
"application/json": {
|
|
797
848
|
"schema": {
|
|
@@ -881,6 +932,17 @@
|
|
|
881
932
|
}
|
|
882
933
|
}
|
|
883
934
|
},
|
|
935
|
+
"500": {
|
|
936
|
+
"description": "Protocol processing failed.",
|
|
937
|
+
"x-lime-zh-CN": "协议处理失败。",
|
|
938
|
+
"content": {
|
|
939
|
+
"application/json": {
|
|
940
|
+
"schema": {
|
|
941
|
+
"$ref": "#/components/schemas/OAuthError"
|
|
942
|
+
}
|
|
943
|
+
}
|
|
944
|
+
}
|
|
945
|
+
},
|
|
884
946
|
"503": {
|
|
885
947
|
"description": "A required dependency is unavailable.",
|
|
886
948
|
"x-lime-zh-CN": "必要依赖暂时不可用。",
|
|
@@ -891,10 +953,145 @@
|
|
|
891
953
|
}
|
|
892
954
|
}
|
|
893
955
|
}
|
|
956
|
+
}
|
|
957
|
+
}
|
|
958
|
+
}
|
|
959
|
+
},
|
|
960
|
+
"/oauth/resource/introspect": {
|
|
961
|
+
"post": {
|
|
962
|
+
"operationId": "identity_resource_introspect",
|
|
963
|
+
"summary": "Check resource access",
|
|
964
|
+
"description": "Check a business machine access token for one exact API and action using a separately provisioned resource-server credential. Current token, customer approval, API/runtime generations and verifier binding are checked in one MySQL transaction. Provisioning currently requires trusted internal orchestration; self-service management is pending. Enforce the returned customer, data and field limits in the real resource owner. Do not cache allowed responses; a remote decision does not lock the provider database or guarantee atomic revocation of in-flight work.",
|
|
965
|
+
"x-lime-localizations": {
|
|
966
|
+
"en": {
|
|
967
|
+
"summary": "Check resource access",
|
|
968
|
+
"description": "Check a business machine access token for one exact API and action using a separately provisioned resource-server credential. Current token, customer approval, API/runtime generations and verifier binding are checked in one MySQL transaction. Provisioning currently requires trusted internal orchestration; self-service management is pending. Enforce the returned customer, data and field limits in the real resource owner. Do not cache allowed responses; a remote decision does not lock the provider database or guarantee atomic revocation of in-flight work."
|
|
969
|
+
},
|
|
970
|
+
"zh-CN": {
|
|
971
|
+
"summary": "检查资源访问权限",
|
|
972
|
+
"description": "使用单独登记的资源服务器专用凭据,为一个精确 API 和动作检查业务机器 Access Token。在同一 MySQL 事务中重验当前令牌、客户批准、API/运行代次及校验方绑定。当前登记需可信内部编排,自助管理尚待接通。实际资源所属领域必须执行返回的客户、数据及字段限制。不得缓存允许结果;远程决策不会锁定提供方数据库,也不能保证在途工作的原子撤权。"
|
|
973
|
+
}
|
|
974
|
+
},
|
|
975
|
+
"tags": [
|
|
976
|
+
"Identity"
|
|
977
|
+
],
|
|
978
|
+
"security": [
|
|
979
|
+
{
|
|
980
|
+
"ResourceServerBasic": []
|
|
981
|
+
}
|
|
982
|
+
],
|
|
983
|
+
"x-lime-cli": "identity.resource.introspect",
|
|
984
|
+
"requestBody": {
|
|
985
|
+
"required": true,
|
|
986
|
+
"content": {
|
|
987
|
+
"application/x-www-form-urlencoded": {
|
|
988
|
+
"schema": {
|
|
989
|
+
"$ref": "#/components/schemas/ResourceIntrospectionInput"
|
|
990
|
+
}
|
|
991
|
+
}
|
|
992
|
+
}
|
|
993
|
+
},
|
|
994
|
+
"responses": {
|
|
995
|
+
"200": {
|
|
996
|
+
"description": "The token is currently permitted for this API and action. Enforce all returned restrictions in the resource owner before querying or writing. Responses use Cache-Control:no-store.",
|
|
997
|
+
"x-lime-localizations": {
|
|
998
|
+
"en": {
|
|
999
|
+
"description": "The token is currently permitted for this API and action. Enforce all returned restrictions in the resource owner before querying or writing. Responses use Cache-Control:no-store."
|
|
1000
|
+
},
|
|
1001
|
+
"zh-CN": {
|
|
1002
|
+
"description": "令牌当前允许访问此 API 和动作。资源所属领域须在查询或写入前执行全部返回限制。响应使用 Cache-Control:no-store。"
|
|
1003
|
+
}
|
|
1004
|
+
},
|
|
1005
|
+
"content": {
|
|
1006
|
+
"application/json": {
|
|
1007
|
+
"schema": {
|
|
1008
|
+
"$ref": "#/components/schemas/ResourceIntrospectionResult"
|
|
1009
|
+
}
|
|
1010
|
+
}
|
|
1011
|
+
}
|
|
1012
|
+
},
|
|
1013
|
+
"400": {
|
|
1014
|
+
"description": "Invalid content type, query, form shape, repeated field or bounded input.",
|
|
1015
|
+
"x-lime-localizations": {
|
|
1016
|
+
"en": {
|
|
1017
|
+
"description": "Invalid content type, query, form shape, repeated field or bounded input."
|
|
1018
|
+
},
|
|
1019
|
+
"zh-CN": {
|
|
1020
|
+
"description": "内容类型、查询参数、表单结构、重复字段或有界输入不合法。"
|
|
1021
|
+
}
|
|
1022
|
+
},
|
|
1023
|
+
"content": {
|
|
1024
|
+
"application/json": {
|
|
1025
|
+
"schema": {
|
|
1026
|
+
"$ref": "#/components/schemas/OAuthError"
|
|
1027
|
+
}
|
|
1028
|
+
}
|
|
1029
|
+
}
|
|
894
1030
|
},
|
|
895
|
-
"
|
|
896
|
-
"description": "
|
|
897
|
-
"x-lime-
|
|
1031
|
+
"401": {
|
|
1032
|
+
"description": "Dedicated resource-server credentials are missing, incorrect or revoked.",
|
|
1033
|
+
"x-lime-localizations": {
|
|
1034
|
+
"en": {
|
|
1035
|
+
"description": "Dedicated resource-server credentials are missing, incorrect or revoked."
|
|
1036
|
+
},
|
|
1037
|
+
"zh-CN": {
|
|
1038
|
+
"description": "资源服务器专用凭据缺失、不正确或已撤销。"
|
|
1039
|
+
}
|
|
1040
|
+
},
|
|
1041
|
+
"content": {
|
|
1042
|
+
"application/json": {
|
|
1043
|
+
"schema": {
|
|
1044
|
+
"$ref": "#/components/schemas/OAuthError"
|
|
1045
|
+
}
|
|
1046
|
+
}
|
|
1047
|
+
}
|
|
1048
|
+
},
|
|
1049
|
+
"403": {
|
|
1050
|
+
"description": "The verifier has no current binding for the requested Audience or action. Rotation requires explicit approval for the new credential generation.",
|
|
1051
|
+
"x-lime-localizations": {
|
|
1052
|
+
"en": {
|
|
1053
|
+
"description": "The verifier has no current binding for the requested Audience or action. Rotation requires explicit approval for the new credential generation."
|
|
1054
|
+
},
|
|
1055
|
+
"zh-CN": {
|
|
1056
|
+
"description": "校验方没有请求 Audience 或动作的当前绑定。凭据轮换后需显式批准新代次。"
|
|
1057
|
+
}
|
|
1058
|
+
},
|
|
1059
|
+
"content": {
|
|
1060
|
+
"application/json": {
|
|
1061
|
+
"schema": {
|
|
1062
|
+
"$ref": "#/components/schemas/OAuthError"
|
|
1063
|
+
}
|
|
1064
|
+
}
|
|
1065
|
+
}
|
|
1066
|
+
},
|
|
1067
|
+
"429": {
|
|
1068
|
+
"description": "Rate limit exceeded. Observe Retry-After.",
|
|
1069
|
+
"x-lime-localizations": {
|
|
1070
|
+
"en": {
|
|
1071
|
+
"description": "Rate limit exceeded. Observe Retry-After."
|
|
1072
|
+
},
|
|
1073
|
+
"zh-CN": {
|
|
1074
|
+
"description": "请求超出限流。遵守 Retry-After。"
|
|
1075
|
+
}
|
|
1076
|
+
},
|
|
1077
|
+
"content": {
|
|
1078
|
+
"application/json": {
|
|
1079
|
+
"schema": {
|
|
1080
|
+
"$ref": "#/components/schemas/OAuthError"
|
|
1081
|
+
}
|
|
1082
|
+
}
|
|
1083
|
+
}
|
|
1084
|
+
},
|
|
1085
|
+
"503": {
|
|
1086
|
+
"description": "Identity, authorization, storage or audit is unavailable or inconsistent. Deny resource access and follow the original business operation's retry policy.",
|
|
1087
|
+
"x-lime-localizations": {
|
|
1088
|
+
"en": {
|
|
1089
|
+
"description": "Identity, authorization, storage or audit is unavailable or inconsistent. Deny resource access and follow the original business operation's retry policy."
|
|
1090
|
+
},
|
|
1091
|
+
"zh-CN": {
|
|
1092
|
+
"description": "身份、授权、存储或审计不可用或不一致。拒绝资源访问,按原业务操作政策处理重试。"
|
|
1093
|
+
}
|
|
1094
|
+
},
|
|
898
1095
|
"content": {
|
|
899
1096
|
"application/json": {
|
|
900
1097
|
"schema": {
|
|
@@ -905,6 +1102,41 @@
|
|
|
905
1102
|
}
|
|
906
1103
|
}
|
|
907
1104
|
}
|
|
1105
|
+
},
|
|
1106
|
+
"/.well-known/oauth-authorization-server": {
|
|
1107
|
+
"get": {
|
|
1108
|
+
"operationId": "identity_oauth_metadata",
|
|
1109
|
+
"summary": "OAuth authorization server metadata",
|
|
1110
|
+
"description": "Read the canonical authorization-server metadata, including S256 PKCE and available scopes. A pre-registered MCP client uses the separate protected-resource metadata to select this issuer. No dynamic registration or CIMD is advertised.",
|
|
1111
|
+
"tags": [
|
|
1112
|
+
"Identity"
|
|
1113
|
+
],
|
|
1114
|
+
"security": [],
|
|
1115
|
+
"responses": {
|
|
1116
|
+
"200": {
|
|
1117
|
+
"description": "Issuer metadata.",
|
|
1118
|
+
"x-lime-zh-CN": "Issuer 元数据。",
|
|
1119
|
+
"content": {
|
|
1120
|
+
"application/json": {
|
|
1121
|
+
"schema": {
|
|
1122
|
+
"$ref": "#/components/schemas/Discovery"
|
|
1123
|
+
}
|
|
1124
|
+
}
|
|
1125
|
+
}
|
|
1126
|
+
}
|
|
1127
|
+
},
|
|
1128
|
+
"x-lime-localizations": {
|
|
1129
|
+
"en": {
|
|
1130
|
+
"description": "Read the canonical authorization-server metadata, including S256 PKCE and available scopes. A pre-registered MCP client uses the separate protected-resource metadata to select this issuer. No dynamic registration or CIMD is advertised.",
|
|
1131
|
+
"summary": "OAuth authorization server metadata"
|
|
1132
|
+
},
|
|
1133
|
+
"zh-CN": {
|
|
1134
|
+
"description": "读取规范授权服务器元数据,包括 S256 PKCE 与可用 Scope。预登记 MCP 客户端通过独立受保护资源元数据选定此 Issuer;当前不声明动态注册或 CIMD。",
|
|
1135
|
+
"summary": "OAuth 授权服务器元数据"
|
|
1136
|
+
}
|
|
1137
|
+
},
|
|
1138
|
+
"x-lime-cli": "identity.metadata.get"
|
|
1139
|
+
}
|
|
908
1140
|
}
|
|
909
1141
|
},
|
|
910
1142
|
"components": {
|
|
@@ -918,6 +1150,19 @@
|
|
|
918
1150
|
"type": "http",
|
|
919
1151
|
"scheme": "bearer",
|
|
920
1152
|
"description": "Opaque user access token with openid."
|
|
1153
|
+
},
|
|
1154
|
+
"ResourceServerBasic": {
|
|
1155
|
+
"type": "http",
|
|
1156
|
+
"scheme": "basic",
|
|
1157
|
+
"description": "Dedicated resource-server ID and secret, form-encoded before HTTP Basic. Consumer client credentials and user sessions are rejected. This credential cannot issue, refresh or revoke OAuth tokens.",
|
|
1158
|
+
"x-lime-localizations": {
|
|
1159
|
+
"en": {
|
|
1160
|
+
"description": "Dedicated resource-server ID and secret, form-encoded before HTTP Basic. Consumer client credentials and user sessions are rejected. This credential cannot issue, refresh or revoke OAuth tokens."
|
|
1161
|
+
},
|
|
1162
|
+
"zh-CN": {
|
|
1163
|
+
"description": "资源服务器专用 ID 与 Secret,经表单编码后使用 HTTP Basic。拒绝消费客户端凭据和用户会话。此凭据不能签发、刷新或撤销 OAuth 令牌。"
|
|
1164
|
+
}
|
|
1165
|
+
}
|
|
921
1166
|
}
|
|
922
1167
|
},
|
|
923
1168
|
"schemas": {
|
|
@@ -977,6 +1222,20 @@
|
|
|
977
1222
|
"x-lime-zh-CN": "原始随机 PKCE verifier,不得将其发往授权端点。",
|
|
978
1223
|
"minLength": 43,
|
|
979
1224
|
"maxLength": 128
|
|
1225
|
+
},
|
|
1226
|
+
"resource": {
|
|
1227
|
+
"type": "string",
|
|
1228
|
+
"format": "uri",
|
|
1229
|
+
"maxLength": 2048,
|
|
1230
|
+
"description": "Required exactly once for the dedicated MCP client, matching the original /mcp resource. The token endpoint rejects a missing, duplicate or changed resource before consuming the original code or refresh token. Not a selector for ordinary user-client tokens.",
|
|
1231
|
+
"x-lime-localizations": {
|
|
1232
|
+
"en": {
|
|
1233
|
+
"description": "Required exactly once for the dedicated MCP client, matching the original /mcp resource. The token endpoint rejects a missing, duplicate or changed resource before consuming the original code or refresh token. Not a selector for ordinary user-client tokens."
|
|
1234
|
+
},
|
|
1235
|
+
"zh-CN": {
|
|
1236
|
+
"description": "专用 MCP 客户端必须准确提供一次,并与原 /mcp 资源一致。缺失、重复或变化时,在消费原授权码或刷新令牌前拒绝;不能用它选择普通用户客户端令牌的资源。"
|
|
1237
|
+
}
|
|
1238
|
+
}
|
|
980
1239
|
}
|
|
981
1240
|
},
|
|
982
1241
|
"required": [
|
|
@@ -1007,6 +1266,20 @@
|
|
|
1007
1266
|
"type": "string",
|
|
1008
1267
|
"description": "Optional subset of the original grant; cannot add scopes.",
|
|
1009
1268
|
"x-lime-zh-CN": "可选的原授权权限子集,不得扩权。"
|
|
1269
|
+
},
|
|
1270
|
+
"resource": {
|
|
1271
|
+
"type": "string",
|
|
1272
|
+
"format": "uri",
|
|
1273
|
+
"maxLength": 2048,
|
|
1274
|
+
"description": "Required exactly once for the dedicated MCP client, matching the original /mcp resource. The token endpoint rejects a missing, duplicate or changed resource before consuming the original code or refresh token. Not a selector for ordinary user-client tokens.",
|
|
1275
|
+
"x-lime-localizations": {
|
|
1276
|
+
"en": {
|
|
1277
|
+
"description": "Required exactly once for the dedicated MCP client, matching the original /mcp resource. The token endpoint rejects a missing, duplicate or changed resource before consuming the original code or refresh token. Not a selector for ordinary user-client tokens."
|
|
1278
|
+
},
|
|
1279
|
+
"zh-CN": {
|
|
1280
|
+
"description": "专用 MCP 客户端必须准确提供一次,并与原 /mcp 资源一致。缺失、重复或变化时,在消费原授权码或刷新令牌前拒绝;不能用它选择普通用户客户端令牌的资源。"
|
|
1281
|
+
}
|
|
1282
|
+
}
|
|
1010
1283
|
}
|
|
1011
1284
|
},
|
|
1012
1285
|
"required": [
|
|
@@ -1045,21 +1318,28 @@
|
|
|
1045
1318
|
"grant_type": {
|
|
1046
1319
|
"type": "string",
|
|
1047
1320
|
"const": "client_credentials"
|
|
1048
|
-
},
|
|
1049
|
-
"audience": {
|
|
1050
|
-
"type": "array",
|
|
1051
|
-
"items": {
|
|
1052
|
-
"type": "string"
|
|
1053
|
-
},
|
|
1054
|
-
"description": "Optional registered audiences. Repeat the form field for multiple audiences; unregistered values are rejected.",
|
|
1055
|
-
"x-lime-zh-CN": "可选的已登记 Audience。多个值须重复表单字段,未登记值会被拒绝。"
|
|
1056
1321
|
}
|
|
1057
1322
|
},
|
|
1058
1323
|
"required": [
|
|
1059
1324
|
"grant_type"
|
|
1060
1325
|
],
|
|
1061
|
-
"
|
|
1062
|
-
|
|
1326
|
+
"oneOf": [
|
|
1327
|
+
{
|
|
1328
|
+
"$ref": "#/components/schemas/OrdinaryMachineTokenRequest"
|
|
1329
|
+
},
|
|
1330
|
+
{
|
|
1331
|
+
"$ref": "#/components/schemas/BusinessMachineTokenRequest"
|
|
1332
|
+
}
|
|
1333
|
+
],
|
|
1334
|
+
"description": "Machine clients use HTTP Basic. Choose either ordinary registered audiences or an explicit customer-approved business grant. Neither variant provides user identity, ID tokens, refresh tokens or UserInfo access.",
|
|
1335
|
+
"x-lime-localizations": {
|
|
1336
|
+
"en": {
|
|
1337
|
+
"description": "Machine clients use HTTP Basic. Choose either ordinary registered audiences or an explicit customer-approved business grant. Neither variant provides user identity, ID tokens, refresh tokens or UserInfo access."
|
|
1338
|
+
},
|
|
1339
|
+
"zh-CN": {
|
|
1340
|
+
"description": "机器客户端使用 HTTP Basic,选择普通已登记 Audience,或显式绑定客户批准的业务授权。两种请求均不提供用户身份、ID Token、Refresh Token 或 UserInfo 访问权。"
|
|
1341
|
+
}
|
|
1342
|
+
}
|
|
1063
1343
|
},
|
|
1064
1344
|
"TokenResponse": {
|
|
1065
1345
|
"type": "object",
|
|
@@ -1074,9 +1354,16 @@
|
|
|
1074
1354
|
},
|
|
1075
1355
|
"expires_in": {
|
|
1076
1356
|
"type": "integer",
|
|
1077
|
-
"description": "Access token lifetime in seconds
|
|
1078
|
-
"
|
|
1079
|
-
"
|
|
1357
|
+
"description": "Access token lifetime in seconds; use the response value. Business machine tokens last at most 300 seconds and cannot outlive their customer ClientGrant.",
|
|
1358
|
+
"minimum": 0,
|
|
1359
|
+
"x-lime-localizations": {
|
|
1360
|
+
"en": {
|
|
1361
|
+
"description": "Access token lifetime in seconds; use the response value. Business machine tokens last at most 300 seconds and cannot outlive their customer ClientGrant."
|
|
1362
|
+
},
|
|
1363
|
+
"zh-CN": {
|
|
1364
|
+
"description": "访问令牌有效秒数,以响应为准。业务机器令牌最多 300 秒,且不超过客户 ClientGrant 的有效期。"
|
|
1365
|
+
}
|
|
1366
|
+
}
|
|
1080
1367
|
},
|
|
1081
1368
|
"scope": {
|
|
1082
1369
|
"type": "string",
|
|
@@ -1273,6 +1560,33 @@
|
|
|
1273
1560
|
},
|
|
1274
1561
|
"lime_installation_generation": {
|
|
1275
1562
|
"type": "integer"
|
|
1563
|
+
},
|
|
1564
|
+
"lime_client_grant_id": {
|
|
1565
|
+
"type": "string",
|
|
1566
|
+
"description": "Original customer ClientGrant ID for an active business machine token. Introspection authenticates the token's own client; this claim does not grant resource access by itself.",
|
|
1567
|
+
"x-lime-localizations": {
|
|
1568
|
+
"en": {
|
|
1569
|
+
"description": "Original customer ClientGrant ID for an active business machine token. Introspection authenticates the token's own client; this claim does not grant resource access by itself."
|
|
1570
|
+
},
|
|
1571
|
+
"zh-CN": {
|
|
1572
|
+
"description": "有效业务机器令牌的原客户 ClientGrant ID。内省要求使用令牌所属 Client 认证;该声明本身不授予资源访问权。"
|
|
1573
|
+
}
|
|
1574
|
+
}
|
|
1575
|
+
},
|
|
1576
|
+
"lime_principal_type": {
|
|
1577
|
+
"type": "string",
|
|
1578
|
+
"enum": [
|
|
1579
|
+
"machine"
|
|
1580
|
+
],
|
|
1581
|
+
"description": "Machine service identity. A machine token cannot impersonate a user or inherit a creator's MFA or consent.",
|
|
1582
|
+
"x-lime-localizations": {
|
|
1583
|
+
"en": {
|
|
1584
|
+
"description": "Machine service identity. A machine token cannot impersonate a user or inherit a creator's MFA or consent."
|
|
1585
|
+
},
|
|
1586
|
+
"zh-CN": {
|
|
1587
|
+
"description": "机器服务身份。机器令牌不能冒充用户,也不继承创建人的 MFA 或用户同意。"
|
|
1588
|
+
}
|
|
1589
|
+
}
|
|
1276
1590
|
}
|
|
1277
1591
|
},
|
|
1278
1592
|
"required": [
|
|
@@ -1447,6 +1761,461 @@
|
|
|
1447
1761
|
"client_credentials": "#/components/schemas/MachineTokenRequest"
|
|
1448
1762
|
}
|
|
1449
1763
|
}
|
|
1764
|
+
},
|
|
1765
|
+
"OrdinaryMachineTokenRequest": {
|
|
1766
|
+
"type": "object",
|
|
1767
|
+
"additionalProperties": false,
|
|
1768
|
+
"required": [
|
|
1769
|
+
"grant_type"
|
|
1770
|
+
],
|
|
1771
|
+
"properties": {
|
|
1772
|
+
"grant_type": {
|
|
1773
|
+
"type": "string",
|
|
1774
|
+
"const": "client_credentials"
|
|
1775
|
+
},
|
|
1776
|
+
"audience": {
|
|
1777
|
+
"type": "array",
|
|
1778
|
+
"items": {
|
|
1779
|
+
"type": "string"
|
|
1780
|
+
},
|
|
1781
|
+
"description": "Optional registered non-business audiences. Repeat the form field for multiple audiences. Unregistered audiences are rejected.",
|
|
1782
|
+
"x-lime-localizations": {
|
|
1783
|
+
"en": {
|
|
1784
|
+
"description": "Optional registered non-business audiences. Repeat the form field for multiple audiences. Unregistered audiences are rejected."
|
|
1785
|
+
},
|
|
1786
|
+
"zh-CN": {
|
|
1787
|
+
"description": "可选的已登记非业务 Audience。多个值须重复表单字段,未登记值会被拒绝。"
|
|
1788
|
+
}
|
|
1789
|
+
}
|
|
1790
|
+
}
|
|
1791
|
+
},
|
|
1792
|
+
"description": "An ordinary machine token is limited to registered non-business audiences. It does not authorize business APIs, user scopes or management /api/v1 entry points.",
|
|
1793
|
+
"x-lime-localizations": {
|
|
1794
|
+
"en": {
|
|
1795
|
+
"description": "An ordinary machine token is limited to registered non-business audiences. It does not authorize business APIs, user scopes or management /api/v1 entry points."
|
|
1796
|
+
},
|
|
1797
|
+
"zh-CN": {
|
|
1798
|
+
"description": "普通机器令牌仅限已登记的非业务 Audience,不授予业务 API、用户 Scope 或管理 /api/v1 入口的访问权。"
|
|
1799
|
+
}
|
|
1800
|
+
}
|
|
1801
|
+
},
|
|
1802
|
+
"BusinessMachineTokenRequest": {
|
|
1803
|
+
"type": "object",
|
|
1804
|
+
"additionalProperties": false,
|
|
1805
|
+
"required": [
|
|
1806
|
+
"grant_type",
|
|
1807
|
+
"client_grant_id",
|
|
1808
|
+
"audience",
|
|
1809
|
+
"scope"
|
|
1810
|
+
],
|
|
1811
|
+
"properties": {
|
|
1812
|
+
"grant_type": {
|
|
1813
|
+
"type": "string",
|
|
1814
|
+
"const": "client_credentials"
|
|
1815
|
+
},
|
|
1816
|
+
"client_grant_id": {
|
|
1817
|
+
"type": "string",
|
|
1818
|
+
"pattern": "^[A-Za-z0-9_-]{1,48}$",
|
|
1819
|
+
"description": "The exact customer ClientGrant ID created in Console for this production client. It fixes the original customer, installation, release and security generations; those values cannot be overridden in the request.",
|
|
1820
|
+
"x-lime-localizations": {
|
|
1821
|
+
"en": {
|
|
1822
|
+
"description": "The exact customer ClientGrant ID created in Console for this production client. It fixes the original customer, installation, release and security generations; those values cannot be overridden in the request."
|
|
1823
|
+
},
|
|
1824
|
+
"zh-CN": {
|
|
1825
|
+
"description": "在 Console 为该生产 Client 创建的精确客户 ClientGrant ID。原客户、安装、发布及安全代次由批准固定,不能通过请求覆盖。"
|
|
1826
|
+
}
|
|
1827
|
+
}
|
|
1828
|
+
},
|
|
1829
|
+
"audience": {
|
|
1830
|
+
"type": "string",
|
|
1831
|
+
"pattern": "^urn:lime:api:[A-Za-z0-9_-]{1,40}:production:[A-Za-z0-9_-]{1,40}$",
|
|
1832
|
+
"description": "One exact production API Audience from the selected customer approval. Repeated fields, sandbox and other APIs are rejected.",
|
|
1833
|
+
"x-lime-localizations": {
|
|
1834
|
+
"en": {
|
|
1835
|
+
"description": "One exact production API Audience from the selected customer approval. Repeated fields, sandbox and other APIs are rejected."
|
|
1836
|
+
},
|
|
1837
|
+
"zh-CN": {
|
|
1838
|
+
"description": "所选客户批准中的单个精确生产 API Audience。拒绝重复字段、沙箱及其他 API。"
|
|
1839
|
+
}
|
|
1840
|
+
}
|
|
1841
|
+
},
|
|
1842
|
+
"scope": {
|
|
1843
|
+
"type": "string",
|
|
1844
|
+
"minLength": 1,
|
|
1845
|
+
"description": "Explicit space-separated subset of the selected approval: 1–100 distinct business scope codes, each at most 128 characters. Omission, duplicates, identity scopes and unapproved scopes are rejected. Scopes never expand the approved data or fields.",
|
|
1846
|
+
"x-lime-localizations": {
|
|
1847
|
+
"en": {
|
|
1848
|
+
"description": "Explicit space-separated subset of the selected approval: 1–100 distinct business scope codes, each at most 128 characters. Omission, duplicates, identity scopes and unapproved scopes are rejected. Scopes never expand the approved data or fields."
|
|
1849
|
+
},
|
|
1850
|
+
"zh-CN": {
|
|
1851
|
+
"description": "所选批准内的显式 Scope 子集,以空格分隔:1–100 个互不重复的业务权限码,每个最多 128 字符。省略、重复、身份 Scope 或未批准的 Scope 均被拒绝;Scope 不能扩大已批准的数据或字段。"
|
|
1852
|
+
}
|
|
1853
|
+
}
|
|
1854
|
+
}
|
|
1855
|
+
},
|
|
1856
|
+
"description": "An active production machine client must select a current customer ClientGrant for that exact client and Audience. Send each field once, with no query parameters or additional form fields. Tokens last at most five minutes and cannot outlive the customer approval. Resource access still requires an implemented resource owner that enforces current scope, data and field limits.",
|
|
1857
|
+
"x-lime-localizations": {
|
|
1858
|
+
"en": {
|
|
1859
|
+
"description": "An active production machine client must select a current customer ClientGrant for that exact client and Audience. Send each field once, with no query parameters or additional form fields. Tokens last at most five minutes and cannot outlive the customer approval. Resource access still requires an implemented resource owner that enforces current scope, data and field limits."
|
|
1860
|
+
},
|
|
1861
|
+
"zh-CN": {
|
|
1862
|
+
"description": "有效生产机器客户端必须选择属于该 Client 和精确 Audience 的当前客户 ClientGrant。每个字段只提交一次,不带查询参数或额外表单字段。令牌最长五分钟,且不超过客户批准期限。资源访问仍需已实现的资源所属领域执行当前 Scope、数据及字段限制。"
|
|
1863
|
+
}
|
|
1864
|
+
}
|
|
1865
|
+
},
|
|
1866
|
+
"ResourceIntrospectionInput": {
|
|
1867
|
+
"type": "object",
|
|
1868
|
+
"additionalProperties": false,
|
|
1869
|
+
"required": [
|
|
1870
|
+
"token",
|
|
1871
|
+
"audience",
|
|
1872
|
+
"action"
|
|
1873
|
+
],
|
|
1874
|
+
"properties": {
|
|
1875
|
+
"token": {
|
|
1876
|
+
"type": "string",
|
|
1877
|
+
"minLength": 1,
|
|
1878
|
+
"maxLength": 4096,
|
|
1879
|
+
"writeOnly": true,
|
|
1880
|
+
"description": "Original opaque business machine access token. User tokens, ID tokens, forged tokens and tokens for another API return only active:false.",
|
|
1881
|
+
"x-lime-localizations": {
|
|
1882
|
+
"en": {
|
|
1883
|
+
"description": "Original opaque business machine access token. User tokens, ID tokens, forged tokens and tokens for another API return only active:false."
|
|
1884
|
+
},
|
|
1885
|
+
"zh-CN": {
|
|
1886
|
+
"description": "原业务机器不透明 Access Token。用户令牌、ID Token、伪造令牌及其他 API 的令牌仅返回 active:false。"
|
|
1887
|
+
}
|
|
1888
|
+
}
|
|
1889
|
+
},
|
|
1890
|
+
"audience": {
|
|
1891
|
+
"type": "string",
|
|
1892
|
+
"pattern": "^urn:lime:api:[A-Za-z0-9_-]{1,40}:production:[A-Za-z0-9_-]{1,40}$",
|
|
1893
|
+
"description": "One exact production API Audience bound to this resource server. Query parameters, repeated form fields and additional fields are rejected.",
|
|
1894
|
+
"x-lime-localizations": {
|
|
1895
|
+
"en": {
|
|
1896
|
+
"description": "One exact production API Audience bound to this resource server. Query parameters, repeated form fields and additional fields are rejected."
|
|
1897
|
+
},
|
|
1898
|
+
"zh-CN": {
|
|
1899
|
+
"description": "此资源服务器绑定的单个精确生产 API Audience。拒绝查询参数、重复表单字段和额外字段。"
|
|
1900
|
+
}
|
|
1901
|
+
}
|
|
1902
|
+
},
|
|
1903
|
+
"action": {
|
|
1904
|
+
"type": "string",
|
|
1905
|
+
"minLength": 1,
|
|
1906
|
+
"maxLength": 128,
|
|
1907
|
+
"description": "One action explicitly allowed by the verifier binding and an actual token scope in the current API definition. An action name does not imply another action.",
|
|
1908
|
+
"x-lime-localizations": {
|
|
1909
|
+
"en": {
|
|
1910
|
+
"description": "One action explicitly allowed by the verifier binding and an actual token scope in the current API definition. An action name does not imply another action."
|
|
1911
|
+
},
|
|
1912
|
+
"zh-CN": {
|
|
1913
|
+
"description": "校验方绑定与当前 API 定义中令牌实际 Scope 同时允许的一个动作。动作名称不隐含其他动作。"
|
|
1914
|
+
}
|
|
1915
|
+
}
|
|
1916
|
+
}
|
|
1917
|
+
}
|
|
1918
|
+
},
|
|
1919
|
+
"ResourceIntrospectionSelection": {
|
|
1920
|
+
"type": "object",
|
|
1921
|
+
"additionalProperties": false,
|
|
1922
|
+
"required": [
|
|
1923
|
+
"provider_application_id",
|
|
1924
|
+
"api_resource_id",
|
|
1925
|
+
"scope_code",
|
|
1926
|
+
"subject_kind",
|
|
1927
|
+
"data_scope_kind",
|
|
1928
|
+
"resource_ids",
|
|
1929
|
+
"readable_fields",
|
|
1930
|
+
"writable_fields"
|
|
1931
|
+
],
|
|
1932
|
+
"properties": {
|
|
1933
|
+
"provider_application_id": {
|
|
1934
|
+
"type": "string",
|
|
1935
|
+
"pattern": "^[A-Za-z0-9_-]{1,40}$"
|
|
1936
|
+
},
|
|
1937
|
+
"api_resource_id": {
|
|
1938
|
+
"type": "string",
|
|
1939
|
+
"pattern": "^[A-Za-z0-9_-]{1,40}$"
|
|
1940
|
+
},
|
|
1941
|
+
"scope_code": {
|
|
1942
|
+
"type": "string"
|
|
1943
|
+
},
|
|
1944
|
+
"subject_kind": {
|
|
1945
|
+
"const": "service",
|
|
1946
|
+
"type": "string"
|
|
1947
|
+
},
|
|
1948
|
+
"data_scope_kind": {
|
|
1949
|
+
"type": "string",
|
|
1950
|
+
"enum": [
|
|
1951
|
+
"space",
|
|
1952
|
+
"application",
|
|
1953
|
+
"assigned_resources"
|
|
1954
|
+
]
|
|
1955
|
+
},
|
|
1956
|
+
"resource_ids": {
|
|
1957
|
+
"type": "array",
|
|
1958
|
+
"maxItems": 100,
|
|
1959
|
+
"uniqueItems": true,
|
|
1960
|
+
"items": {
|
|
1961
|
+
"type": "string",
|
|
1962
|
+
"maxLength": 128
|
|
1963
|
+
},
|
|
1964
|
+
"description": "Original approved data and field limits for token scopes that permit this action. Assigned IDs still require the provider's real customer/resource mapping.",
|
|
1965
|
+
"x-lime-localizations": {
|
|
1966
|
+
"en": {
|
|
1967
|
+
"description": "Original approved data and field limits for token scopes that permit this action. Assigned IDs still require the provider's real customer/resource mapping."
|
|
1968
|
+
},
|
|
1969
|
+
"zh-CN": {
|
|
1970
|
+
"description": "允许本次动作的令牌 Scope 对应的原批准数据及字段限制。指定 ID 仍须与提供方真实客户/资源映射核验。"
|
|
1971
|
+
}
|
|
1972
|
+
}
|
|
1973
|
+
},
|
|
1974
|
+
"readable_fields": {
|
|
1975
|
+
"type": "array",
|
|
1976
|
+
"maxItems": 100,
|
|
1977
|
+
"uniqueItems": true,
|
|
1978
|
+
"items": {
|
|
1979
|
+
"type": "string",
|
|
1980
|
+
"maxLength": 128
|
|
1981
|
+
},
|
|
1982
|
+
"description": "Explicit field allowlist, applied before serialization or writes. An empty list grants no fields; it never means all fields.",
|
|
1983
|
+
"x-lime-localizations": {
|
|
1984
|
+
"en": {
|
|
1985
|
+
"description": "Explicit field allowlist, applied before serialization or writes. An empty list grants no fields; it never means all fields."
|
|
1986
|
+
},
|
|
1987
|
+
"zh-CN": {
|
|
1988
|
+
"description": "显式字段白名单,须在序列化或写入前执行。空列表不授予任何字段,绝不表示全部字段。"
|
|
1989
|
+
}
|
|
1990
|
+
}
|
|
1991
|
+
},
|
|
1992
|
+
"writable_fields": {
|
|
1993
|
+
"type": "array",
|
|
1994
|
+
"maxItems": 100,
|
|
1995
|
+
"uniqueItems": true,
|
|
1996
|
+
"items": {
|
|
1997
|
+
"type": "string",
|
|
1998
|
+
"maxLength": 128
|
|
1999
|
+
},
|
|
2000
|
+
"description": "Explicit field allowlist, applied before serialization or writes. An empty list grants no fields; it never means all fields.",
|
|
2001
|
+
"x-lime-localizations": {
|
|
2002
|
+
"en": {
|
|
2003
|
+
"description": "Explicit field allowlist, applied before serialization or writes. An empty list grants no fields; it never means all fields."
|
|
2004
|
+
},
|
|
2005
|
+
"zh-CN": {
|
|
2006
|
+
"description": "显式字段白名单,须在序列化或写入前执行。空列表不授予任何字段,绝不表示全部字段。"
|
|
2007
|
+
}
|
|
2008
|
+
}
|
|
2009
|
+
}
|
|
2010
|
+
},
|
|
2011
|
+
"description": "Original approved data and field limits for token scopes that permit this action. Assigned IDs still require the provider's real customer/resource mapping.",
|
|
2012
|
+
"x-lime-localizations": {
|
|
2013
|
+
"en": {
|
|
2014
|
+
"description": "Original approved data and field limits for token scopes that permit this action. Assigned IDs still require the provider's real customer/resource mapping."
|
|
2015
|
+
},
|
|
2016
|
+
"zh-CN": {
|
|
2017
|
+
"description": "允许本次动作的令牌 Scope 对应的原批准数据及字段限制。指定 ID 仍须与提供方真实客户/资源映射核验。"
|
|
2018
|
+
}
|
|
2019
|
+
}
|
|
2020
|
+
},
|
|
2021
|
+
"ResourceIntrospectionActive": {
|
|
2022
|
+
"type": "object",
|
|
2023
|
+
"additionalProperties": false,
|
|
2024
|
+
"required": [
|
|
2025
|
+
"active",
|
|
2026
|
+
"iss",
|
|
2027
|
+
"sub",
|
|
2028
|
+
"client_id",
|
|
2029
|
+
"aud",
|
|
2030
|
+
"exp",
|
|
2031
|
+
"lime_principal_type",
|
|
2032
|
+
"lime_environment",
|
|
2033
|
+
"lime_client_grant_id",
|
|
2034
|
+
"lime_customer_space_id",
|
|
2035
|
+
"lime_installation_id",
|
|
2036
|
+
"lime_release_id",
|
|
2037
|
+
"lime_resource_generation",
|
|
2038
|
+
"lime_runtime_generation",
|
|
2039
|
+
"action",
|
|
2040
|
+
"scope",
|
|
2041
|
+
"selections"
|
|
2042
|
+
],
|
|
2043
|
+
"properties": {
|
|
2044
|
+
"active": {
|
|
2045
|
+
"type": "boolean",
|
|
2046
|
+
"const": true,
|
|
2047
|
+
"description": "The token is currently permitted for this API and action. Enforce all returned restrictions in the resource owner before querying or writing. Responses use Cache-Control:no-store.",
|
|
2048
|
+
"x-lime-localizations": {
|
|
2049
|
+
"en": {
|
|
2050
|
+
"description": "The token is currently permitted for this API and action. Enforce all returned restrictions in the resource owner before querying or writing. Responses use Cache-Control:no-store."
|
|
2051
|
+
},
|
|
2052
|
+
"zh-CN": {
|
|
2053
|
+
"description": "令牌当前允许访问此 API 和动作。资源所属领域须在查询或写入前执行全部返回限制。响应使用 Cache-Control:no-store。"
|
|
2054
|
+
}
|
|
2055
|
+
}
|
|
2056
|
+
},
|
|
2057
|
+
"iss": {
|
|
2058
|
+
"type": "string",
|
|
2059
|
+
"format": "uri"
|
|
2060
|
+
},
|
|
2061
|
+
"sub": {
|
|
2062
|
+
"type": "string",
|
|
2063
|
+
"pattern": "^[A-Za-z0-9_-]{1,40}$"
|
|
2064
|
+
},
|
|
2065
|
+
"client_id": {
|
|
2066
|
+
"type": "string",
|
|
2067
|
+
"pattern": "^[A-Za-z0-9_-]{1,40}$"
|
|
2068
|
+
},
|
|
2069
|
+
"aud": {
|
|
2070
|
+
"type": "string",
|
|
2071
|
+
"description": "One exact production API Audience bound to this resource server. Query parameters, repeated form fields and additional fields are rejected.",
|
|
2072
|
+
"x-lime-localizations": {
|
|
2073
|
+
"en": {
|
|
2074
|
+
"description": "One exact production API Audience bound to this resource server. Query parameters, repeated form fields and additional fields are rejected."
|
|
2075
|
+
},
|
|
2076
|
+
"zh-CN": {
|
|
2077
|
+
"description": "此资源服务器绑定的单个精确生产 API Audience。拒绝查询参数、重复表单字段和额外字段。"
|
|
2078
|
+
}
|
|
2079
|
+
}
|
|
2080
|
+
},
|
|
2081
|
+
"exp": {
|
|
2082
|
+
"type": "integer",
|
|
2083
|
+
"description": "Unix seconds, capped by token and verifier-binding expiry. This does not permit caching allowed results.",
|
|
2084
|
+
"x-lime-localizations": {
|
|
2085
|
+
"en": {
|
|
2086
|
+
"description": "Unix seconds, capped by token and verifier-binding expiry. This does not permit caching allowed results."
|
|
2087
|
+
},
|
|
2088
|
+
"zh-CN": {
|
|
2089
|
+
"description": "Unix 秒数,不超过令牌与校验方绑定期限。这不允许缓存成功决策。"
|
|
2090
|
+
}
|
|
2091
|
+
}
|
|
2092
|
+
},
|
|
2093
|
+
"lime_principal_type": {
|
|
2094
|
+
"type": "string",
|
|
2095
|
+
"const": "machine"
|
|
2096
|
+
},
|
|
2097
|
+
"lime_environment": {
|
|
2098
|
+
"type": "string",
|
|
2099
|
+
"const": "production"
|
|
2100
|
+
},
|
|
2101
|
+
"lime_client_grant_id": {
|
|
2102
|
+
"type": "string",
|
|
2103
|
+
"maxLength": 48
|
|
2104
|
+
},
|
|
2105
|
+
"lime_customer_space_id": {
|
|
2106
|
+
"type": "string",
|
|
2107
|
+
"pattern": "^[A-Za-z0-9_-]{1,40}$",
|
|
2108
|
+
"description": "Original installed customer space. Never replace it with a header, host, caller field or the provider application's space.",
|
|
2109
|
+
"x-lime-localizations": {
|
|
2110
|
+
"en": {
|
|
2111
|
+
"description": "Original installed customer space. Never replace it with a header, host, caller field or the provider application's space."
|
|
2112
|
+
},
|
|
2113
|
+
"zh-CN": {
|
|
2114
|
+
"description": "原安装客户空间。不得替换为 Header、Host、调用方字段或提供应用自身空间。"
|
|
2115
|
+
}
|
|
2116
|
+
}
|
|
2117
|
+
},
|
|
2118
|
+
"lime_installation_id": {
|
|
2119
|
+
"type": "string",
|
|
2120
|
+
"pattern": "^[A-Za-z0-9_-]{1,40}$"
|
|
2121
|
+
},
|
|
2122
|
+
"lime_release_id": {
|
|
2123
|
+
"type": "string",
|
|
2124
|
+
"pattern": "^[A-Za-z0-9_-]{1,40}$"
|
|
2125
|
+
},
|
|
2126
|
+
"lime_resource_generation": {
|
|
2127
|
+
"type": "integer",
|
|
2128
|
+
"minimum": 1,
|
|
2129
|
+
"maximum": 9007199254740991
|
|
2130
|
+
},
|
|
2131
|
+
"lime_runtime_generation": {
|
|
2132
|
+
"type": "integer",
|
|
2133
|
+
"minimum": 1,
|
|
2134
|
+
"maximum": 9007199254740991
|
|
2135
|
+
},
|
|
2136
|
+
"action": {
|
|
2137
|
+
"type": "string",
|
|
2138
|
+
"description": "One action explicitly allowed by the verifier binding and an actual token scope in the current API definition. An action name does not imply another action.",
|
|
2139
|
+
"x-lime-localizations": {
|
|
2140
|
+
"en": {
|
|
2141
|
+
"description": "One action explicitly allowed by the verifier binding and an actual token scope in the current API definition. An action name does not imply another action."
|
|
2142
|
+
},
|
|
2143
|
+
"zh-CN": {
|
|
2144
|
+
"description": "校验方绑定与当前 API 定义中令牌实际 Scope 同时允许的一个动作。动作名称不隐含其他动作。"
|
|
2145
|
+
}
|
|
2146
|
+
}
|
|
2147
|
+
},
|
|
2148
|
+
"scope": {
|
|
2149
|
+
"type": "string",
|
|
2150
|
+
"description": "Space-separated actual token scopes permitting this action. Other token scopes and customer-approved scopes are excluded.",
|
|
2151
|
+
"x-lime-localizations": {
|
|
2152
|
+
"en": {
|
|
2153
|
+
"description": "Space-separated actual token scopes permitting this action. Other token scopes and customer-approved scopes are excluded."
|
|
2154
|
+
},
|
|
2155
|
+
"zh-CN": {
|
|
2156
|
+
"description": "允许本次动作的令牌实际 Scope,以空格分隔;排除其他令牌 Scope 和仅客户批准的 Scope。"
|
|
2157
|
+
}
|
|
2158
|
+
}
|
|
2159
|
+
},
|
|
2160
|
+
"selections": {
|
|
2161
|
+
"type": "array",
|
|
2162
|
+
"minItems": 1,
|
|
2163
|
+
"maxItems": 100,
|
|
2164
|
+
"items": {
|
|
2165
|
+
"$ref": "#/components/schemas/ResourceIntrospectionSelection"
|
|
2166
|
+
},
|
|
2167
|
+
"description": "Original approved data and field limits for token scopes that permit this action. Assigned IDs still require the provider's real customer/resource mapping.",
|
|
2168
|
+
"x-lime-localizations": {
|
|
2169
|
+
"en": {
|
|
2170
|
+
"description": "Original approved data and field limits for token scopes that permit this action. Assigned IDs still require the provider's real customer/resource mapping."
|
|
2171
|
+
},
|
|
2172
|
+
"zh-CN": {
|
|
2173
|
+
"description": "允许本次动作的令牌 Scope 对应的原批准数据及字段限制。指定 ID 仍须与提供方真实客户/资源映射核验。"
|
|
2174
|
+
}
|
|
2175
|
+
}
|
|
2176
|
+
}
|
|
2177
|
+
},
|
|
2178
|
+
"description": "The token is currently permitted for this API and action. Enforce all returned restrictions in the resource owner before querying or writing. Responses use Cache-Control:no-store.",
|
|
2179
|
+
"x-lime-localizations": {
|
|
2180
|
+
"en": {
|
|
2181
|
+
"description": "The token is currently permitted for this API and action. Enforce all returned restrictions in the resource owner before querying or writing. Responses use Cache-Control:no-store."
|
|
2182
|
+
},
|
|
2183
|
+
"zh-CN": {
|
|
2184
|
+
"description": "令牌当前允许访问此 API 和动作。资源所属领域须在查询或写入前执行全部返回限制。响应使用 Cache-Control:no-store。"
|
|
2185
|
+
}
|
|
2186
|
+
}
|
|
2187
|
+
},
|
|
2188
|
+
"ResourceIntrospectionInactive": {
|
|
2189
|
+
"type": "object",
|
|
2190
|
+
"additionalProperties": false,
|
|
2191
|
+
"required": [
|
|
2192
|
+
"active"
|
|
2193
|
+
],
|
|
2194
|
+
"properties": {
|
|
2195
|
+
"active": {
|
|
2196
|
+
"type": "boolean",
|
|
2197
|
+
"const": false
|
|
2198
|
+
}
|
|
2199
|
+
},
|
|
2200
|
+
"description": "The token is invalid or no longer permitted. Only active:false is returned, without customer or token claims.",
|
|
2201
|
+
"x-lime-localizations": {
|
|
2202
|
+
"en": {
|
|
2203
|
+
"description": "The token is invalid or no longer permitted. Only active:false is returned, without customer or token claims."
|
|
2204
|
+
},
|
|
2205
|
+
"zh-CN": {
|
|
2206
|
+
"description": "令牌无效或当前已无权。仅返回 active:false,不披露客户或令牌声明。"
|
|
2207
|
+
}
|
|
2208
|
+
}
|
|
2209
|
+
},
|
|
2210
|
+
"ResourceIntrospectionResult": {
|
|
2211
|
+
"oneOf": [
|
|
2212
|
+
{
|
|
2213
|
+
"$ref": "#/components/schemas/ResourceIntrospectionActive"
|
|
2214
|
+
},
|
|
2215
|
+
{
|
|
2216
|
+
"$ref": "#/components/schemas/ResourceIntrospectionInactive"
|
|
2217
|
+
}
|
|
2218
|
+
]
|
|
1450
2219
|
}
|
|
1451
2220
|
}
|
|
1452
2221
|
}
|