samlesa 3.5.0 → 4.1.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/build/index.js +2 -0
- package/build/src/binding-artifact.js +5 -0
- package/build/src/binding-post.js +5 -1
- package/build/src/binding-redirect.js +15 -0
- package/build/src/libsaml.js +6 -36
- package/build/src/saml2-enhancements-integration.js +146 -0
- package/build/src/saml2-enhancements.js +405 -0
- package/build/src/urn.js +4 -0
- package/build/src/utility.js +132 -3
- package/package.json +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/src/binding-artifact.d.ts.map +1 -1
- package/types/src/binding-post.d.ts +0 -1
- package/types/src/binding-post.d.ts.map +1 -1
- package/types/src/binding-redirect.d.ts.map +1 -1
- package/types/src/libsaml.d.ts.map +1 -1
- package/types/src/saml2-enhancements-integration.d.ts +24 -0
- package/types/src/saml2-enhancements-integration.d.ts.map +1 -0
- package/types/src/saml2-enhancements.d.ts +286 -0
- package/types/src/saml2-enhancements.d.ts.map +1 -0
- package/types/src/types.d.ts +105 -0
- package/types/src/types.d.ts.map +1 -1
- package/types/src/urn.d.ts +4 -0
- package/types/src/urn.d.ts.map +1 -1
- package/types/src/utility.d.ts +18 -0
- package/types/src/utility.d.ts.map +1 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file saml2-enhancements-integration.ts
|
|
3
|
+
* @desc SAML 2.0 增强功能集成 - 自动应用到绑定和元数据生成
|
|
4
|
+
*/
|
|
5
|
+
import { AuthnContextClassRef, Consent } from './saml2-enhancements.js';
|
|
6
|
+
import type { AuthnRequestEnhancedConfig, ConditionsEnhancedConfig, SubjectConfirmationDataConfig, MetadataEnhancedConfig } from './types.js';
|
|
7
|
+
/**
|
|
8
|
+
* 将增强功能应用到 AuthnRequest
|
|
9
|
+
*/
|
|
10
|
+
export declare function applyAuthnRequestEnhancements(rawSamlRequest: string, enhancements: AuthnRequestEnhancedConfig): string;
|
|
11
|
+
/**
|
|
12
|
+
* 将增强功能应用到 Conditions 元素
|
|
13
|
+
*/
|
|
14
|
+
export declare function applyConditionsEnhancements(rawSamlResponse: string, enhancements: ConditionsEnhancedConfig): string;
|
|
15
|
+
/**
|
|
16
|
+
* 将增强功能应用到 SubjectConfirmationData 元素
|
|
17
|
+
*/
|
|
18
|
+
export declare function applySubjectConfirmationEnhancements(rawSamlResponse: string, enhancements: SubjectConfirmationDataConfig): string;
|
|
19
|
+
/**
|
|
20
|
+
* 将增强功能应用到元数据
|
|
21
|
+
*/
|
|
22
|
+
export declare function applyMetadataEnhancements(rawMetadata: string, enhancements: MetadataEnhancedConfig): string;
|
|
23
|
+
export { AuthnContextClassRef, Consent };
|
|
24
|
+
//# sourceMappingURL=saml2-enhancements-integration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saml2-enhancements-integration.d.ts","sourceRoot":"","sources":["../../src/saml2-enhancements-integration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EASH,oBAAoB,EACpB,OAAO,EACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACR,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,EACzB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,wBAAgB,6BAA6B,CACzC,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,0BAA0B,GACzC,MAAM,CAsCR;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACvC,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,wBAAwB,GACvC,MAAM,CAqBR;AAED;;GAEG;AACH,wBAAgB,oCAAoC,CAChD,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,6BAA6B,GAC5C,MAAM,CAmBR;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACrC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,sBAAsB,GACrC,MAAM,CAuBR;AAkDD,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file saml2-enhancements.ts
|
|
3
|
+
* @desc SAML 2.0 增强功能实现 - 补充核心库中缺失的可选功能
|
|
4
|
+
*
|
|
5
|
+
* 根据 SAML 2.0 规范 (OASIS Standard, 2005-09) 实现以下功能:
|
|
6
|
+
* - Scoping 元素 (用于代理 SSO)
|
|
7
|
+
* - RequestedAuthnContext 完整支持
|
|
8
|
+
* - OneTimeUse 条件
|
|
9
|
+
* - ProxyRestriction 条件
|
|
10
|
+
* - SubjectConfirmation 的 Address/NotBefore 属性
|
|
11
|
+
* - Organization 和 ContactPerson 元数据
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Scoping 元素配置 - 用于代理 SSO 场景
|
|
15
|
+
* @see SAML Core 2.0, Section 3.4.1
|
|
16
|
+
*/
|
|
17
|
+
export interface ScopingConfig {
|
|
18
|
+
/** 代理计数限制 */
|
|
19
|
+
proxyCount?: number;
|
|
20
|
+
/** 请求者 ID 列表 */
|
|
21
|
+
requesterID?: string[];
|
|
22
|
+
/** IdP 列表 */
|
|
23
|
+
idpList?: IdpEntry[];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* IdP 列表条目
|
|
27
|
+
*/
|
|
28
|
+
export interface IdpEntry {
|
|
29
|
+
/** IdP 提供者 ID */
|
|
30
|
+
providerID: string;
|
|
31
|
+
/** IdP 名称 (可选) */
|
|
32
|
+
name?: string;
|
|
33
|
+
/** IdP 位置 (可选) */
|
|
34
|
+
loc?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* RequestedAuthnContext 配置
|
|
38
|
+
* @see SAML Core 2.0, Section 3.3.2.2
|
|
39
|
+
*/
|
|
40
|
+
export interface RequestedAuthnContextConfig {
|
|
41
|
+
/** 比较方法: exact | minimum | maximum | better */
|
|
42
|
+
comparison?: 'exact' | 'minimum' | 'maximum' | 'better';
|
|
43
|
+
/** 认证上下文类引用 URI 列表 */
|
|
44
|
+
classRefs?: string[];
|
|
45
|
+
/** 认证上下文声明引用 (可选) */
|
|
46
|
+
declRefs?: string[];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* OneTimeUse 条件配置
|
|
50
|
+
* @see SAML Core 2.0, Section 3.1.4.2
|
|
51
|
+
*/
|
|
52
|
+
export interface OneTimeUseConfig {
|
|
53
|
+
/** 启用一次性使用条件 */
|
|
54
|
+
enabled: boolean;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* ProxyRestriction 条件配置
|
|
58
|
+
* @see SAML Core 2.0, Section 3.1.4.3
|
|
59
|
+
*/
|
|
60
|
+
export interface ProxyRestrictionConfig {
|
|
61
|
+
/** 代理计数限制 */
|
|
62
|
+
count?: number;
|
|
63
|
+
/** 受众列表 */
|
|
64
|
+
audience?: string[];
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* SubjectConfirmation 增强配置
|
|
68
|
+
* @see SAML Core 2.0, Section 3.2.1
|
|
69
|
+
*/
|
|
70
|
+
export interface SubjectConfirmationDataConfig {
|
|
71
|
+
/** 客户端 IP 地址 (可选) */
|
|
72
|
+
address?: string;
|
|
73
|
+
/** 生效时间 (可选) */
|
|
74
|
+
notBefore?: string;
|
|
75
|
+
/** 过期时间 (必需) */
|
|
76
|
+
notOnOrAfter: string;
|
|
77
|
+
/** 接收者 (可选) */
|
|
78
|
+
recipient?: string;
|
|
79
|
+
/** 响应中的 ID (可选) */
|
|
80
|
+
inResponseTo?: string;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Organization 信息配置
|
|
84
|
+
* @see SAML Metadata 2.0, Section 2.3.4
|
|
85
|
+
*/
|
|
86
|
+
export interface OrganizationConfig {
|
|
87
|
+
/** 组织名称 */
|
|
88
|
+
name: {
|
|
89
|
+
/** 语言代码 (如 'en', 'zh-CN') */
|
|
90
|
+
'xml:lang'?: string;
|
|
91
|
+
/** 组织名称文本 */
|
|
92
|
+
value: string;
|
|
93
|
+
};
|
|
94
|
+
/** 组织显示名称 */
|
|
95
|
+
displayName?: {
|
|
96
|
+
'xml:lang'?: string;
|
|
97
|
+
value: string;
|
|
98
|
+
};
|
|
99
|
+
/** 组织 URL */
|
|
100
|
+
url?: {
|
|
101
|
+
'xml:lang'?: string;
|
|
102
|
+
value: string;
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* ContactPerson 信息配置
|
|
107
|
+
* @see SAML Metadata 2.0, Section 2.3.5
|
|
108
|
+
*/
|
|
109
|
+
export interface ContactPersonConfig {
|
|
110
|
+
/** 联系人类型 */
|
|
111
|
+
contactType: 'technical' | 'support' | 'administrative' | 'billing' | 'other';
|
|
112
|
+
/** 公司名称 (可选) */
|
|
113
|
+
company?: string;
|
|
114
|
+
/** 名字 (可选) */
|
|
115
|
+
givenName?: string;
|
|
116
|
+
/** 姓氏 (可选) */
|
|
117
|
+
surName?: string;
|
|
118
|
+
/** 电子邮件 (可选) */
|
|
119
|
+
emailAddress?: string;
|
|
120
|
+
/** 电话号码 (可选) */
|
|
121
|
+
telephoneNumber?: string;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* AuthnRequest 增强配置
|
|
125
|
+
*/
|
|
126
|
+
export interface AuthnRequestEnhancedConfig {
|
|
127
|
+
/** Scoping 配置 */
|
|
128
|
+
scoping?: ScopingConfig;
|
|
129
|
+
/** RequestedAuthnContext 配置 */
|
|
130
|
+
requestedAuthnContext?: RequestedAuthnContextConfig;
|
|
131
|
+
/** 强制认证 */
|
|
132
|
+
forceAuthn?: boolean;
|
|
133
|
+
/** 被动认证 */
|
|
134
|
+
isPassive?: boolean;
|
|
135
|
+
/** 用户同意状态 */
|
|
136
|
+
consent?: string;
|
|
137
|
+
/** 属性消费服务索引 */
|
|
138
|
+
attributeConsumingServiceIndex?: number;
|
|
139
|
+
/** 提供者名称 */
|
|
140
|
+
providerName?: string;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Response 增强配置
|
|
144
|
+
*/
|
|
145
|
+
export interface ResponseEnhancedConfig {
|
|
146
|
+
/** 用户同意状态 */
|
|
147
|
+
consent?: string;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Conditions 增强配置
|
|
151
|
+
*/
|
|
152
|
+
export interface ConditionsEnhancedConfig {
|
|
153
|
+
/** OneTimeUse 配置 */
|
|
154
|
+
oneTimeUse?: OneTimeUseConfig;
|
|
155
|
+
/** ProxyRestriction 配置 */
|
|
156
|
+
proxyRestriction?: ProxyRestrictionConfig;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* 构建 Scoping 元素
|
|
160
|
+
* @param config Scoping 配置
|
|
161
|
+
* @returns Scoping XML 元素
|
|
162
|
+
*/
|
|
163
|
+
export declare function buildScoping(config: ScopingConfig): any;
|
|
164
|
+
/**
|
|
165
|
+
* 构建 RequestedAuthnContext 元素
|
|
166
|
+
* @param config RequestedAuthnContext 配置
|
|
167
|
+
* @returns RequestedAuthnContext XML 元素
|
|
168
|
+
*/
|
|
169
|
+
export declare function buildRequestedAuthnContext(config: RequestedAuthnContextConfig): any;
|
|
170
|
+
/**
|
|
171
|
+
* 构建 OneTimeUse 元素
|
|
172
|
+
* @returns OneTimeUse XML 元素
|
|
173
|
+
*/
|
|
174
|
+
export declare function buildOneTimeUse(): any;
|
|
175
|
+
/**
|
|
176
|
+
* 构建 ProxyRestriction 元素
|
|
177
|
+
* @param config ProxyRestriction 配置
|
|
178
|
+
* @returns ProxyRestriction XML 元素
|
|
179
|
+
*/
|
|
180
|
+
export declare function buildProxyRestriction(config: ProxyRestrictionConfig): any;
|
|
181
|
+
/**
|
|
182
|
+
* 构建增强的 SubjectConfirmationData
|
|
183
|
+
* @param config SubjectConfirmationData 配置
|
|
184
|
+
* @returns SubjectConfirmationData XML 元素
|
|
185
|
+
*/
|
|
186
|
+
export declare function buildSubjectConfirmationData(config: {
|
|
187
|
+
notOnOrAfter: string;
|
|
188
|
+
address?: string;
|
|
189
|
+
notBefore?: string;
|
|
190
|
+
recipient?: string;
|
|
191
|
+
inResponseTo?: string;
|
|
192
|
+
}): any;
|
|
193
|
+
/**
|
|
194
|
+
* 构建 Organization 元素
|
|
195
|
+
* @param config Organization 配置
|
|
196
|
+
* @returns Organization XML 元素
|
|
197
|
+
*/
|
|
198
|
+
export declare function buildOrganization(config: OrganizationConfig): any;
|
|
199
|
+
/**
|
|
200
|
+
* 构建 ContactPerson 元素
|
|
201
|
+
* @param config ContactPerson 配置
|
|
202
|
+
* @returns ContactPerson XML 元素
|
|
203
|
+
*/
|
|
204
|
+
export declare function buildContactPerson(config: ContactPersonConfig): any;
|
|
205
|
+
/**
|
|
206
|
+
* 构建增强的 AuthnRequest 内容
|
|
207
|
+
* @param baseAuthnRequest 基础 AuthnRequest XML 对象
|
|
208
|
+
* @param enhancedConfig 增强配置
|
|
209
|
+
* @returns 增强后的 AuthnRequest XML 对象
|
|
210
|
+
*/
|
|
211
|
+
export declare function enhanceAuthnRequest(baseAuthnRequest: any, enhancedConfig: AuthnRequestEnhancedConfig): any;
|
|
212
|
+
/**
|
|
213
|
+
* 构建增强的 Conditions 内容
|
|
214
|
+
* @param baseConditions 基础 Conditions XML 对象
|
|
215
|
+
* @param enhancedConfig 增强配置
|
|
216
|
+
* @returns 增强后的 Conditions XML 对象
|
|
217
|
+
*/
|
|
218
|
+
export declare function enhanceConditions(baseConditions: any, enhancedConfig: ConditionsEnhancedConfig): any;
|
|
219
|
+
/**
|
|
220
|
+
* 构建增强的 SubjectConfirmation
|
|
221
|
+
* @param baseSubjectConfirmation 基础 SubjectConfirmation XML 对象
|
|
222
|
+
* @param enhancedConfig 增强配置
|
|
223
|
+
* @returns 增强后的 SubjectConfirmation XML 对象
|
|
224
|
+
*/
|
|
225
|
+
export declare function enhanceSubjectConfirmation(baseSubjectConfirmation: any, enhancedConfig: SubjectConfirmationDataConfig): any;
|
|
226
|
+
/**
|
|
227
|
+
* 将 XML 对象转换为字符串
|
|
228
|
+
* @param xmlObject XML 对象
|
|
229
|
+
* @returns XML 字符串
|
|
230
|
+
*/
|
|
231
|
+
export declare function xmlToString(xmlObject: any): string;
|
|
232
|
+
/**
|
|
233
|
+
* 生成标准的 AuthnContextClassRef URI
|
|
234
|
+
*/
|
|
235
|
+
export declare const AuthnContextClassRef: {
|
|
236
|
+
/** 未指定认证 */
|
|
237
|
+
readonly UNSPECIFIED: "urn:oasis:names:tc:SAML:2.0:ac:classes:Unspecified";
|
|
238
|
+
/** 用户名/密码 */
|
|
239
|
+
readonly PASSWORD: "urn:oasis:names:tc:SAML:2.0:ac:classes:Password";
|
|
240
|
+
/** 密码保护传输 */
|
|
241
|
+
readonly PASSWORD_PROTECTED_TRANSPORT: "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport";
|
|
242
|
+
/** X.509 证书 */
|
|
243
|
+
readonly X509: "urn:oasis:names:tc:SAML:2.0:ac:classes:X509";
|
|
244
|
+
/** PGP */
|
|
245
|
+
readonly PGP: "urn:oasis:names:tc:SAML:2.0:ac:classes:PGP";
|
|
246
|
+
/** SPKI */
|
|
247
|
+
readonly SPKI: "urn:oasis:names:tc:SAML:2.0:ac:classes:SPKI";
|
|
248
|
+
/** XML 数字签名 */
|
|
249
|
+
readonly XMLDSIG: "urn:oasis:names:tc:SAML:2.0:ac:classes:XMLDSig";
|
|
250
|
+
/** 智能卡 */
|
|
251
|
+
readonly SMARTCARD: "urn:oasis:names:tc:SAML:2.0:ac:classes:Smartcard";
|
|
252
|
+
/** Kerberos */
|
|
253
|
+
readonly KERBEROS: "urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos";
|
|
254
|
+
/** 生物识别 */
|
|
255
|
+
readonly BIOMETRIC: "urn:oasis:names:tc:SAML:2.0:ac:classes:Biometric";
|
|
256
|
+
/** 远程认证拨号用户服务 */
|
|
257
|
+
readonly RADIUS: "urn:oasis:names:tc:SAML:2.0:ac:classes:Radius";
|
|
258
|
+
/** 硬件令牌 */
|
|
259
|
+
readonly HARDWARE_TOKEN: "urn:oasis:names:tc:SAML:2.0:ac:classes:HardwareToken";
|
|
260
|
+
/** 时间同步令牌 */
|
|
261
|
+
readonly TIME_SYNC_TOKEN: "urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken";
|
|
262
|
+
/** 互联网协议 */
|
|
263
|
+
readonly IP: "urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocol";
|
|
264
|
+
/** 先前会话 */
|
|
265
|
+
readonly PREVIOUS_SESSION: "urn:oasis:names:tc:SAML:2.0:ac:classes:PreviousSession";
|
|
266
|
+
/** 共享秘密 */
|
|
267
|
+
readonly SHARED_SECRET: "urn:oasis:names:tc:SAML:2.0:ac:classes:SharedSecret";
|
|
268
|
+
};
|
|
269
|
+
/**
|
|
270
|
+
* 生成标准的 Consent URI
|
|
271
|
+
*/
|
|
272
|
+
export declare const Consent: {
|
|
273
|
+
/** 未指定 */
|
|
274
|
+
readonly UNSPECIFIED: "urn:oasis:names:tc:SAML:2.0:consent:unspecified";
|
|
275
|
+
/** 获得同意 */
|
|
276
|
+
readonly OBTAINED: "urn:oasis:names:tc:SAML:2.0:consent:obtained";
|
|
277
|
+
/** 先前的同意 */
|
|
278
|
+
readonly PRIOR: "urn:oasis:names:tc:SAML:2.0:consent:prior";
|
|
279
|
+
/** 隐式同意 */
|
|
280
|
+
readonly IMPLICIT: "urn:oasis:names:tc:SAML:2.0:consent:implicit";
|
|
281
|
+
/** 显式同意 */
|
|
282
|
+
readonly EXPLICIT: "urn:oasis:names:tc:SAML:2.0:consent:explicit";
|
|
283
|
+
/** 当前同意 */
|
|
284
|
+
readonly CURRENT: "urn:oasis:names:tc:SAML:2.0:consent:current";
|
|
285
|
+
};
|
|
286
|
+
//# sourceMappingURL=saml2-enhancements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saml2-enhancements.d.ts","sourceRoot":"","sources":["../../src/saml2-enhancements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,aAAa;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa;IACb,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,iBAAiB;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,+CAA+C;IAC/C,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACxD,sBAAsB;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,aAAa;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC5C,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW;IACX,IAAI,EAAE;QACJ,6BAA6B;QAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,aAAa;IACb,WAAW,CAAC,EAAE;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,aAAa;IACb,GAAG,CAAC,EAAE;QACJ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY;IACZ,WAAW,EAAE,WAAW,GAAG,SAAS,GAAG,gBAAgB,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9E,gBAAgB;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,iBAAiB;IACjB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,+BAA+B;IAC/B,qBAAqB,CAAC,EAAE,2BAA2B,CAAC;IACpD,WAAW;IACX,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW;IACX,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe;IACf,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,YAAY;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,aAAa;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,oBAAoB;IACpB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,0BAA0B;IAC1B,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAMD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,CA6CvD;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,2BAA2B,GAAG,GAAG,CAiCnF;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,GAAG,CAQrC;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,sBAAsB,GAAG,GAAG,CAuBzE;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,GAAG,CAwBN;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,GAAG,CAoDjE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,GAAG,CAyCnE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,GAAG,EACrB,cAAc,EAAE,0BAA0B,GACzC,GAAG,CAoDL;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,GAAG,EACnB,cAAc,EAAE,wBAAwB,GACvC,GAAG,CAeL;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,uBAAuB,EAAE,GAAG,EAC5B,cAAc,EAAE,6BAA6B,GAC5C,GAAG,CAaL;AAMD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,CAElD;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB;IAC/B,YAAY;;IAEZ,aAAa;;IAEb,aAAa;;IAEb,eAAe;;IAEf,UAAU;;IAEV,WAAW;;IAEX,eAAe;;IAEf,UAAU;;IAEV,eAAe;;IAEf,WAAW;;IAEX,iBAAiB;;IAEjB,WAAW;;IAEX,aAAa;;IAEb,YAAY;;IAEZ,WAAW;;IAEX,WAAW;;CAEH,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,OAAO;IAClB,UAAU;;IAEV,WAAW;;IAEX,YAAY;;IAEZ,WAAW;;IAEX,WAAW;;IAEX,WAAW;;CAEH,CAAC"}
|
package/types/src/types.d.ts
CHANGED
|
@@ -43,6 +43,101 @@ export type AttributeConsumingService = {
|
|
|
43
43
|
requestedAttributes: RequestedAttribute[];
|
|
44
44
|
};
|
|
45
45
|
export type AttrService = AttributeConsumingService[];
|
|
46
|
+
/**
|
|
47
|
+
* Scoping 配置 - 用于代理 SSO
|
|
48
|
+
*/
|
|
49
|
+
export interface ScopingConfig {
|
|
50
|
+
proxyCount?: number;
|
|
51
|
+
requesterID?: string[];
|
|
52
|
+
idpList?: Array<{
|
|
53
|
+
providerID: string;
|
|
54
|
+
name?: string;
|
|
55
|
+
loc?: string;
|
|
56
|
+
}>;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* RequestedAuthnContext 配置 - 用于 MFA 等场景
|
|
60
|
+
*/
|
|
61
|
+
export interface RequestedAuthnContextConfig {
|
|
62
|
+
comparison?: 'exact' | 'minimum' | 'maximum' | 'better';
|
|
63
|
+
classRefs?: string[];
|
|
64
|
+
declRefs?: string[];
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* OneTimeUse 条件配置
|
|
68
|
+
*/
|
|
69
|
+
export interface OneTimeUseConfig {
|
|
70
|
+
enabled: boolean;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* ProxyRestriction 条件配置
|
|
74
|
+
*/
|
|
75
|
+
export interface ProxyRestrictionConfig {
|
|
76
|
+
count?: number;
|
|
77
|
+
audience?: string[];
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* SubjectConfirmation 增强配置
|
|
81
|
+
*/
|
|
82
|
+
export interface SubjectConfirmationDataConfig {
|
|
83
|
+
address?: string;
|
|
84
|
+
notBefore?: string;
|
|
85
|
+
inResponseTo?: string;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Organization 信息配置
|
|
89
|
+
*/
|
|
90
|
+
export interface OrganizationConfig {
|
|
91
|
+
name: {
|
|
92
|
+
'xml:lang'?: string;
|
|
93
|
+
value: string;
|
|
94
|
+
};
|
|
95
|
+
displayName?: {
|
|
96
|
+
'xml:lang'?: string;
|
|
97
|
+
value: string;
|
|
98
|
+
};
|
|
99
|
+
url?: {
|
|
100
|
+
'xml:lang'?: string;
|
|
101
|
+
value: string;
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* ContactPerson 信息配置
|
|
106
|
+
*/
|
|
107
|
+
export interface ContactPersonConfig {
|
|
108
|
+
contactType: 'technical' | 'support' | 'administrative' | 'billing' | 'other';
|
|
109
|
+
company?: string;
|
|
110
|
+
givenName?: string;
|
|
111
|
+
surName?: string;
|
|
112
|
+
emailAddress?: string;
|
|
113
|
+
telephoneNumber?: string;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* AuthnRequest 增强配置
|
|
117
|
+
*/
|
|
118
|
+
export interface AuthnRequestEnhancedConfig {
|
|
119
|
+
scoping?: ScopingConfig;
|
|
120
|
+
requestedAuthnContext?: RequestedAuthnContextConfig;
|
|
121
|
+
forceAuthn?: boolean;
|
|
122
|
+
isPassive?: boolean;
|
|
123
|
+
consent?: string;
|
|
124
|
+
attributeConsumingServiceIndex?: number;
|
|
125
|
+
providerName?: string;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Conditions 增强配置
|
|
129
|
+
*/
|
|
130
|
+
export interface ConditionsEnhancedConfig {
|
|
131
|
+
oneTimeUse?: OneTimeUseConfig;
|
|
132
|
+
proxyRestriction?: ProxyRestrictionConfig;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* 元数据增强配置
|
|
136
|
+
*/
|
|
137
|
+
export interface MetadataEnhancedConfig {
|
|
138
|
+
organization?: OrganizationConfig;
|
|
139
|
+
contactPerson?: ContactPersonConfig[];
|
|
140
|
+
}
|
|
46
141
|
export interface MetadataIdpOptions {
|
|
47
142
|
entityID?: string;
|
|
48
143
|
signingCert?: string | Buffer | (string | Buffer)[];
|
|
@@ -53,6 +148,7 @@ export interface MetadataIdpOptions {
|
|
|
53
148
|
singleLogoutService?: SSOService[];
|
|
54
149
|
artifactResolutionService?: SSOService[];
|
|
55
150
|
requestSignatureAlgorithm?: string;
|
|
151
|
+
metadataEnhancements?: MetadataEnhancedConfig;
|
|
56
152
|
}
|
|
57
153
|
export type MetadataIdpConstructor = MetadataIdpOptions | MetadataFile;
|
|
58
154
|
export interface MetadataSpOptions {
|
|
@@ -72,6 +168,7 @@ export interface MetadataSpOptions {
|
|
|
72
168
|
attributeConsumingService?: AttributeConsumingService[];
|
|
73
169
|
artifactResolutionService?: SSOService[];
|
|
74
170
|
elementsOrder?: string[];
|
|
171
|
+
metadataEnhancements?: MetadataEnhancedConfig;
|
|
75
172
|
}
|
|
76
173
|
export type MetadataSpConstructor = MetadataSpOptions | MetadataFile;
|
|
77
174
|
export type EntitySetting = ServiceProviderSettings & IdentityProviderSettings;
|
|
@@ -111,6 +208,10 @@ export type ServiceProviderSettings = {
|
|
|
111
208
|
allowCreate?: boolean;
|
|
112
209
|
relayState?: string;
|
|
113
210
|
clockDrifts?: [number, number];
|
|
211
|
+
authnRequestEnhancements?: AuthnRequestEnhancedConfig;
|
|
212
|
+
conditionsEnhancements?: ConditionsEnhancedConfig;
|
|
213
|
+
subjectConfirmationEnhancements?: SubjectConfirmationDataConfig;
|
|
214
|
+
metadataEnhancements?: MetadataEnhancedConfig;
|
|
114
215
|
};
|
|
115
216
|
export type IdentityProviderSettings = {
|
|
116
217
|
metadata?: string | Buffer;
|
|
@@ -141,5 +242,9 @@ export type IdentityProviderSettings = {
|
|
|
141
242
|
tagPrefix?: {
|
|
142
243
|
[key: string]: string;
|
|
143
244
|
};
|
|
245
|
+
authnRequestEnhancements?: AuthnRequestEnhancedConfig;
|
|
246
|
+
conditionsEnhancements?: ConditionsEnhancedConfig;
|
|
247
|
+
subjectConfirmationEnhancements?: SubjectConfirmationDataConfig;
|
|
248
|
+
metadataEnhancements?: MetadataEnhancedConfig;
|
|
144
249
|
};
|
|
145
250
|
//# sourceMappingURL=types.d.ts.map
|
package/types/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAQ,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,IAAI,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,WAAW,IAAI,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAE,eAAe,IAAI,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,UAAU,IAAI,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAC3C,MAAM,WAAY,yBAAyB;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,MAAM,EAAE;QACJ,GAAG,EAAE,gBAAgB,CAAC;QACtB,EAAE,EAAE,eAAe,CAAC;KACvB,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAC;IAC5D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB;AACD,KAAK,UAAU,GAAG;IACd,SAAS,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAGF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,kBAAkB,EAAE,WAAW,EAAE,CAAC;IAClC,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;CAC3C,CAAC;AAGF,MAAM,MAAM,WAAW,GAAG,yBAAyB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/types/src/urn.d.ts
CHANGED
|
@@ -135,15 +135,19 @@ declare const tags: {
|
|
|
135
135
|
AttributeStatement: string;
|
|
136
136
|
ConditionsNotBefore: string;
|
|
137
137
|
ConditionsNotOnOrAfter: string;
|
|
138
|
+
Consent: string;
|
|
138
139
|
Destination: string;
|
|
139
140
|
EntityID: string;
|
|
141
|
+
ForceAuthn: string;
|
|
140
142
|
ID: string;
|
|
143
|
+
IsPassive: string;
|
|
141
144
|
Issuer: string;
|
|
142
145
|
IssueInstant: string;
|
|
143
146
|
InResponseTo: string;
|
|
144
147
|
NameID: string;
|
|
145
148
|
NameIDFormat: string;
|
|
146
149
|
ProtocolBinding: string;
|
|
150
|
+
ProviderName: string;
|
|
147
151
|
SessionIndex: string;
|
|
148
152
|
SubjectRecipient: string;
|
|
149
153
|
SubjectConfirmationDataNotOnOrAfter: string;
|
package/types/src/urn.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urn.d.ts","sourceRoot":"","sources":["../../src/urn.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oBAAY,gBAAgB;IAC1B,QAAQ,uDAAuD;IAC/D,IAAI,mDAAmD;IACvD,UAAU,8DAA8D;IACxE,QAAQ,uDAAuD;CAChE;AACD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,CAK/F,CAAC;AAGD,iBAAS,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,CAEjG;AAED,oBAAY,qBAAqB;IAC/B,GAAG,sBAAsB;IACzB,GAAG,sBAAsB;CAC1B;AAED,oBAAY,UAAU;IAEpB,OAAO,+CAA+C;IACtD,SAAS,iDAAiD;IAC1D,SAAS,iDAAiD;IAC1D,eAAe,uDAAuD;IAEtE,UAAU,mDAAmD;IAC7D,sBAAsB,8DAA8D;IACpF,mBAAmB,2DAA2D;IAC9E,cAAc,sDAAsD;IACpE,cAAc,sDAAsD;IACpE,SAAS,iDAAiD;IAC1D,cAAc,sDAAsD;IACpE,aAAa,qDAAqD;IAClE,kBAAkB,0DAA0D;IAC5E,aAAa,qDAAqD;IAClE,kBAAkB,0DAA0D;IAC5E,wBAAwB,gEAAgE;IACxF,qBAAqB,6DAA6D;IAClF,oBAAoB,4DAA4D;IAChF,qBAAqB,6DAA6D;IAClF,gBAAgB,wDAAwD;IACxE,kBAAkB,0DAA0D;IAC5E,gBAAgB,wDAAwD;IACxE,kBAAkB,0DAA0D;CAC7E;AAED,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoGd,CAAC;AAEF,QAAA,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"urn.d.ts","sourceRoot":"","sources":["../../src/urn.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oBAAY,gBAAgB;IAC1B,QAAQ,uDAAuD;IAC/D,IAAI,mDAAmD;IACvD,UAAU,8DAA8D;IACxE,QAAQ,uDAAuD;CAChE;AACD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,CAK/F,CAAC;AAGD,iBAAS,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,CAEjG;AAED,oBAAY,qBAAqB;IAC/B,GAAG,sBAAsB;IACzB,GAAG,sBAAsB;CAC1B;AAED,oBAAY,UAAU;IAEpB,OAAO,+CAA+C;IACtD,SAAS,iDAAiD;IAC1D,SAAS,iDAAiD;IAC1D,eAAe,uDAAuD;IAEtE,UAAU,mDAAmD;IAC7D,sBAAsB,8DAA8D;IACpF,mBAAmB,2DAA2D;IAC9E,cAAc,sDAAsD;IACpE,cAAc,sDAAsD;IACpE,SAAS,iDAAiD;IAC1D,cAAc,sDAAsD;IACpE,aAAa,qDAAqD;IAClE,kBAAkB,0DAA0D;IAC5E,aAAa,qDAAqD;IAClE,kBAAkB,0DAA0D;IAC5E,wBAAwB,gEAAgE;IACxF,qBAAqB,6DAA6D;IAClF,oBAAoB,4DAA4D;IAChF,qBAAqB,6DAA6D;IAClF,gBAAgB,wDAAwD;IACxE,kBAAkB,0DAA0D;IAC5E,gBAAgB,wDAAwD;IACxE,kBAAkB,0DAA0D;CAC7E;AAED,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoGd,CAAC;AAEF,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCT,CAAC;AAEF,QAAA,MAAM,qBAAqB;;;;;CAK1B,CAAC;AAEF,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA6FZ;;;WAGG;;;;;;;;;;;;;CAwBN,CAAC;AAaF,oBAAY,UAAU;IACpB,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;CAClC;AAED,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;CAyBZ,CAAC;AAIF,QAAA,MAAM,aAAa;;;;CAIlB,CAAC;AAEF;;GAEG;AACH,UAAU,eAAe;IACvB,8BAA8B;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,kCAAkC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,kCAAkC;IAClC,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,QAAA,MAAM,sBAAsB,EAAE,eAI7B,CAAC;AAOF;;;GAGG;AACH,iBAAS,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,QAE5D;AAED;;;GAGG;AACH,iBAAS,kBAAkB,IAAI,eAAe,CAE7C;AAED;;GAEG;AACH,iBAAS,oBAAoB,SAE5B;AAED;;;;GAIG;AACH,iBAAS,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CA0BjF;AAED;;;;GAIG;AACH,iBAAS,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAS1F;AAED,OAAO,EACL,SAAS,EACT,IAAI,EACJ,UAAU,EACV,OAAO,EACP,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACrB,CAAC"}
|
package/types/src/utility.d.ts
CHANGED
|
@@ -122,6 +122,22 @@ export declare function validateRelayState(relayState: string): {
|
|
|
122
122
|
valid: boolean;
|
|
123
123
|
error?: string;
|
|
124
124
|
};
|
|
125
|
+
/**
|
|
126
|
+
* @desc 验证并标准化证书数组,处理 null、undefined、空字符串、非数组等边界情况
|
|
127
|
+
* @param {any} metadataCert - 证书输入,可能是 string、string[]、null、undefined 或其他类型
|
|
128
|
+
* @returns {string[]} 标准化后的证书字符串数组(纯 Base64 格式,无 PEM 头尾和换行)
|
|
129
|
+
* @throws {Error} 当证书格式无效时抛出错误
|
|
130
|
+
*/
|
|
131
|
+
export declare function normalizeCertificates(metadataCert: any): string[];
|
|
132
|
+
/**
|
|
133
|
+
* @desc 验证证书是否有效(可选,用于更严格的验证)
|
|
134
|
+
* @param {string} certificateBase64 - Base64 编码的证书(不含 PEM 头尾)
|
|
135
|
+
* @returns {{ isValid: boolean; error?: string }} 验证结果
|
|
136
|
+
*/
|
|
137
|
+
export declare function validateCertificate(certificateBase64: string): {
|
|
138
|
+
isValid: boolean;
|
|
139
|
+
error?: string;
|
|
140
|
+
};
|
|
125
141
|
/**
|
|
126
142
|
* @desc 日志脱敏函数,过滤敏感信息
|
|
127
143
|
* @param {any} data - 需要脱敏的数据
|
|
@@ -145,6 +161,8 @@ declare const utility: {
|
|
|
145
161
|
isNonEmptyArray: typeof isNonEmptyArray;
|
|
146
162
|
validateRelayState: typeof validateRelayState;
|
|
147
163
|
sanitizeLog: typeof sanitizeLog;
|
|
164
|
+
normalizeCertificates: typeof normalizeCertificates;
|
|
165
|
+
validateCertificate: typeof validateCertificate;
|
|
148
166
|
};
|
|
149
167
|
export default utility;
|
|
150
168
|
//# sourceMappingURL=utility.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../src/utility.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,cAAc,UAAO,MAmB3E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,OAIvC;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,OAEhC;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,YAGnC;AAED;;;;;;GAMG;AACH,wBAAgB,GAAG,CAAC,GAAG,KAAA,EAAE,IAAI,KAAA,EAAE,YAAY,KAAA,OAG1C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,GAAG,mBAElC;AAED;;;;GAIG;AACH,iBAAS,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,UAE/C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAGtF;AAED;;;;GAIG;AACH,iBAAS,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAKhD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAc9D;AAYD;;;;GAIG;AACH,iBAAS,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,UAEtD;AAED;;;;GAIG;AACH,iBAAS,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,UAErD;AAED;;;;GAIG;AACH,iBAAS,UAAU,CAAC,GAAG,KAAA,UAEtB;AAED;;;;GAIG;AACH,iBAAS,WAAW,CAAC,GAAG,KAAA,EAAE,YAAY,SAAK,OAE1C;AAED;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,IAAI,KAAA,EAAE,IAAI,KAAA,OAE/B;AAED;;;;GAIG;AACH,iBAAS,8BAA8B,CAAC,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../src/utility.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,cAAc,UAAO,MAmB3E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,OAIvC;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,OAEhC;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,YAGnC;AAED;;;;;;GAMG;AACH,wBAAgB,GAAG,CAAC,GAAG,KAAA,EAAE,IAAI,KAAA,EAAE,YAAY,KAAA,OAG1C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,GAAG,mBAElC;AAED;;;;GAIG;AACH,iBAAS,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,UAE/C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAGtF;AAED;;;;GAIG;AACH,iBAAS,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAKhD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAc9D;AAYD;;;;GAIG;AACH,iBAAS,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,UAEtD;AAED;;;;GAIG;AACH,iBAAS,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,UAErD;AAED;;;;GAIG;AACH,iBAAS,UAAU,CAAC,GAAG,KAAA,UAEtB;AAED;;;;GAIG;AACH,iBAAS,WAAW,CAAC,GAAG,KAAA,EAAE,YAAY,SAAK,OAE1C;AAED;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,IAAI,KAAA,EAAE,IAAI,KAAA,OAE/B;AAED;;;;GAIG;AACH,iBAAS,8BAA8B,CAAC,qBAAqB,EAAE,MAAM,UAsBpE;AAuED,wBAAgB,cAAc,CAC1B,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,UAAU,CAAC,EAAE,MAAM,EACnB,cAAc,GAAE,OAAc,GAC/B,MAAM,GAAG,MAAM,CAyCjB;AACD;;GAEG;AACH,iBAAS,eAAe,CAAC,KAAK,KAAA,EAAE,cAAc,KAAA,OAE7C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,WAErC;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAGhD;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,MAAM,CAElF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA2BzF;AAgBD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,GAAG,GAAG,MAAM,EAAE,CA4DjE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAoDnG;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAoB1C;AAED,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;CAmBZ,CAAC;AAEF,eAAe,OAAO,CAAC"}
|