samlesa 2.12.3 → 2.12.6
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.
Potentially problematic release.
This version of samlesa might be problematic. Click here for more details.
- package/build/index.js +54 -64
- package/build/index.js.map +1 -1
- package/build/src/api.js +24 -23
- package/build/src/api.js.map +1 -1
- package/build/src/binding-post.js +358 -368
- package/build/src/binding-post.js.map +1 -1
- package/build/src/binding-redirect.js +333 -332
- package/build/src/binding-redirect.js.map +1 -1
- package/build/src/binding-simplesign.js +222 -232
- package/build/src/binding-simplesign.js.map +1 -1
- package/build/src/entity-idp.js +132 -130
- package/build/src/entity-idp.js.map +1 -1
- package/build/src/entity-sp.js +96 -96
- package/build/src/entity-sp.js.map +1 -1
- package/build/src/entity.js +225 -235
- package/build/src/entity.js.map +1 -1
- package/build/src/extractor.js +369 -369
- package/build/src/extractor.js.map +1 -1
- package/build/src/flow.js +320 -319
- package/build/src/flow.js.map +1 -1
- package/build/src/libsaml.js +660 -641
- package/build/src/libsaml.js.map +1 -1
- package/build/src/metadata-idp.js +127 -127
- package/build/src/metadata-idp.js.map +1 -1
- package/build/src/metadata-sp.js +231 -231
- package/build/src/metadata-sp.js.map +1 -1
- package/build/src/metadata.js +166 -176
- package/build/src/metadata.js.map +1 -1
- package/build/src/types.js +11 -11
- package/build/src/urn.js +212 -212
- package/build/src/urn.js.map +1 -1
- package/build/src/utility.js +292 -248
- package/build/src/utility.js.map +1 -1
- package/build/src/validator.js +27 -26
- package/build/src/validator.js.map +1 -1
- package/index.d.ts +10 -10
- package/index.js +18 -18
- package/package.json +1 -5
- package/qodana.yaml +29 -29
- package/src/binding-post.ts +1 -1
- package/src/binding-redirect.ts +83 -64
- package/src/entity-idp.ts +26 -20
- package/src/libsaml.ts +79 -48
- package/src/utility.ts +147 -76
- package/types/index.d.ts +10 -10
- package/types/src/api.d.ts +13 -13
- package/types/src/binding-post.d.ts +46 -46
- package/types/src/binding-redirect.d.ts +52 -52
- package/types/src/binding-simplesign.d.ts +39 -39
- package/types/src/entity-idp.d.ts +35 -42
- package/types/src/entity-sp.d.ts +36 -36
- package/types/src/entity.d.ts +101 -99
- package/types/src/extractor.d.ts +25 -25
- package/types/src/flow.d.ts +6 -6
- package/types/src/libsaml.d.ts +200 -210
- package/types/src/metadata-idp.d.ts +24 -24
- package/types/src/metadata-sp.d.ts +36 -36
- package/types/src/metadata.d.ts +59 -57
- package/types/src/types.d.ts +129 -127
- package/types/src/urn.d.ts +194 -194
- package/types/src/utility.d.ts +134 -134
- package/types/src/validator.d.ts +3 -3
- package/.idea/compiler.xml +0 -6
- package/.idea/deployment.xml +0 -14
- package/.idea/jsLibraryMappings.xml +0 -6
- package/build/.idea/workspace.xml +0 -58
package/types/src/metadata.d.ts
CHANGED
|
@@ -1,57 +1,59 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
* @
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
* @
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
* @
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
export interface MetadataInterface {
|
|
4
|
+
xmlString: string;
|
|
5
|
+
getMetadata: () => string;
|
|
6
|
+
exportMetadata: (exportFile: string) => void;
|
|
7
|
+
getEntityID: () => string;
|
|
8
|
+
getX509Certificate: (certType: string) => string | string[];
|
|
9
|
+
getNameIDFormat: () => any[];
|
|
10
|
+
getSingleLogoutService: (binding: string | undefined) => string | object;
|
|
11
|
+
getSupportBindings: (services: string[]) => string[];
|
|
12
|
+
}
|
|
13
|
+
export default class Metadata implements MetadataInterface {
|
|
14
|
+
xmlString: string;
|
|
15
|
+
meta: any;
|
|
16
|
+
/**
|
|
17
|
+
* @param {string | Buffer} xml
|
|
18
|
+
* @param {object} extraParse for custom metadata extractor
|
|
19
|
+
*/
|
|
20
|
+
constructor(xml: string | Buffer, extraParse?: any);
|
|
21
|
+
/**
|
|
22
|
+
* @desc Get the metadata in xml format
|
|
23
|
+
* @return {string} metadata in xml format
|
|
24
|
+
*/
|
|
25
|
+
getMetadata(): string;
|
|
26
|
+
/**
|
|
27
|
+
* @desc Export the metadata to specific file
|
|
28
|
+
* @param {string} exportFile is the output file path
|
|
29
|
+
*/
|
|
30
|
+
exportMetadata(exportFile: string): void;
|
|
31
|
+
/**
|
|
32
|
+
* @desc Get the entityID in metadata
|
|
33
|
+
* @return {string} entityID
|
|
34
|
+
*/
|
|
35
|
+
getEntityID(): string;
|
|
36
|
+
/**
|
|
37
|
+
* @desc Get the x509 certificate declared in entity metadata
|
|
38
|
+
* @param {string} use declares the type of certificate
|
|
39
|
+
* @return {string} certificate in string format
|
|
40
|
+
*/
|
|
41
|
+
getX509Certificate(use: string): any;
|
|
42
|
+
/**
|
|
43
|
+
* @desc Get the support NameID format declared in entity metadata
|
|
44
|
+
* @return {array} support NameID format
|
|
45
|
+
*/
|
|
46
|
+
getNameIDFormat(): any;
|
|
47
|
+
/**
|
|
48
|
+
* @desc Get the entity endpoint for single logout service
|
|
49
|
+
* @param {string} binding e.g. redirect, post
|
|
50
|
+
* @return {string/object} location
|
|
51
|
+
*/
|
|
52
|
+
getSingleLogoutService(binding: string | undefined): string | object;
|
|
53
|
+
/**
|
|
54
|
+
* @desc Get the support bindings
|
|
55
|
+
* @param {[string]} services
|
|
56
|
+
* @return {[string]} support bindings
|
|
57
|
+
*/
|
|
58
|
+
getSupportBindings(services: string[]): string[];
|
|
59
|
+
}
|
package/types/src/types.d.ts
CHANGED
|
@@ -1,127 +1,129 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
export
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
|
|
104
|
-
/** template of
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import { LoginResponseTemplate } from './libsaml.js';
|
|
4
|
+
export { IdentityProvider as IdentityProviderConstructor } from './entity-idp.js';
|
|
5
|
+
export { IdpMetadata as IdentityProviderMetadata } from './metadata-idp.js';
|
|
6
|
+
export { ServiceProvider as ServiceProviderConstructor } from './entity-sp.js';
|
|
7
|
+
export { SpMetadata as ServiceProviderMetadata } from './metadata-sp.js';
|
|
8
|
+
export type MetadataFile = string | Buffer;
|
|
9
|
+
type SSOService = {
|
|
10
|
+
isDefault?: boolean;
|
|
11
|
+
Binding: string;
|
|
12
|
+
Location: string;
|
|
13
|
+
};
|
|
14
|
+
export type ServiceName = {
|
|
15
|
+
value: string;
|
|
16
|
+
/** @description 语言标识符(如 en/zh-CN) */
|
|
17
|
+
lang?: string;
|
|
18
|
+
};
|
|
19
|
+
export type RequestedAttribute = {
|
|
20
|
+
name: string;
|
|
21
|
+
friendlyName?: string;
|
|
22
|
+
isRequired?: boolean;
|
|
23
|
+
nameFormat?: string;
|
|
24
|
+
attributeValue?: string[];
|
|
25
|
+
};
|
|
26
|
+
export type AttributeConsumingService = {
|
|
27
|
+
isDefault: boolean;
|
|
28
|
+
serviceName: ServiceName[];
|
|
29
|
+
serviceDescription: ServiceName[];
|
|
30
|
+
requestedAttributes: RequestedAttribute[];
|
|
31
|
+
};
|
|
32
|
+
export type AttrService = AttributeConsumingService[];
|
|
33
|
+
export interface MetadataIdpOptions {
|
|
34
|
+
entityID?: string;
|
|
35
|
+
signingCert?: string | Buffer | (string | Buffer)[];
|
|
36
|
+
encryptCert?: string | Buffer | (string | Buffer)[];
|
|
37
|
+
wantAuthnRequestsSigned?: boolean;
|
|
38
|
+
nameIDFormat?: string[];
|
|
39
|
+
singleSignOnService?: SSOService[];
|
|
40
|
+
singleLogoutService?: SSOService[];
|
|
41
|
+
requestSignatureAlgorithm?: string;
|
|
42
|
+
}
|
|
43
|
+
export type MetadataIdpConstructor = MetadataIdpOptions | MetadataFile;
|
|
44
|
+
export interface MetadataSpOptions {
|
|
45
|
+
entityID?: string;
|
|
46
|
+
signingCert?: string | Buffer | (string | Buffer)[];
|
|
47
|
+
encryptCert?: string | Buffer | (string | Buffer)[];
|
|
48
|
+
authnRequestsSigned?: boolean;
|
|
49
|
+
wantAssertionsSigned?: boolean;
|
|
50
|
+
wantMessageSigned?: boolean;
|
|
51
|
+
signatureConfig?: {
|
|
52
|
+
[key: string]: any;
|
|
53
|
+
};
|
|
54
|
+
nameIDFormat?: string[];
|
|
55
|
+
singleSignOnService?: SSOService[];
|
|
56
|
+
singleLogoutService?: SSOService[];
|
|
57
|
+
assertionConsumerService?: SSOService[];
|
|
58
|
+
attributeConsumingService?: AttributeConsumingService[];
|
|
59
|
+
elementsOrder?: string[];
|
|
60
|
+
}
|
|
61
|
+
export type MetadataSpConstructor = MetadataSpOptions | MetadataFile;
|
|
62
|
+
export type EntitySetting = ServiceProviderSettings & IdentityProviderSettings;
|
|
63
|
+
export interface SignatureConfig {
|
|
64
|
+
prefix?: string;
|
|
65
|
+
location?: {
|
|
66
|
+
reference?: string;
|
|
67
|
+
action?: 'append' | 'prepend' | 'before' | 'after';
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
export interface SAMLDocumentTemplate {
|
|
71
|
+
context?: string;
|
|
72
|
+
}
|
|
73
|
+
export type ServiceProviderSettings = {
|
|
74
|
+
metadata?: string | Buffer;
|
|
75
|
+
entityID?: string;
|
|
76
|
+
authnRequestsSigned?: boolean;
|
|
77
|
+
wantAssertionsSigned?: boolean;
|
|
78
|
+
wantMessageSigned?: boolean;
|
|
79
|
+
wantLogoutResponseSigned?: boolean;
|
|
80
|
+
wantLogoutRequestSigned?: boolean;
|
|
81
|
+
privateKey?: string | Buffer;
|
|
82
|
+
privateKeyPass?: string;
|
|
83
|
+
isAssertionEncrypted?: boolean;
|
|
84
|
+
requestSignatureAlgorithm?: string;
|
|
85
|
+
encPrivateKey?: string | Buffer;
|
|
86
|
+
encPrivateKeyPass?: string | Buffer;
|
|
87
|
+
assertionConsumerService?: SSOService[];
|
|
88
|
+
singleLogoutService?: SSOService[];
|
|
89
|
+
signatureConfig?: SignatureConfig;
|
|
90
|
+
loginRequestTemplate?: SAMLDocumentTemplate;
|
|
91
|
+
logoutRequestTemplate?: SAMLDocumentTemplate;
|
|
92
|
+
signingCert?: string | Buffer | (string | Buffer)[];
|
|
93
|
+
encryptCert?: string | Buffer | (string | Buffer)[];
|
|
94
|
+
transformationAlgorithms?: string[];
|
|
95
|
+
nameIDFormat?: string[];
|
|
96
|
+
allowCreate?: boolean;
|
|
97
|
+
relayState?: string;
|
|
98
|
+
clockDrifts?: [number, number];
|
|
99
|
+
};
|
|
100
|
+
export type IdentityProviderSettings = {
|
|
101
|
+
metadata?: string | Buffer;
|
|
102
|
+
/** signature algorithm */
|
|
103
|
+
requestSignatureAlgorithm?: string;
|
|
104
|
+
/** template of login response */
|
|
105
|
+
loginResponseTemplate?: LoginResponseTemplate;
|
|
106
|
+
/** template of logout request */
|
|
107
|
+
logoutRequestTemplate?: SAMLDocumentTemplate;
|
|
108
|
+
/** customized function used for generating request ID */
|
|
109
|
+
generateID?: () => string;
|
|
110
|
+
entityID?: string;
|
|
111
|
+
privateKey?: string | Buffer;
|
|
112
|
+
privateKeyPass?: string;
|
|
113
|
+
signingCert?: string | Buffer | (string | Buffer)[];
|
|
114
|
+
encryptCert?: string | Buffer | (string | Buffer)[];
|
|
115
|
+
nameIDFormat?: string[];
|
|
116
|
+
singleSignOnService?: SSOService[];
|
|
117
|
+
singleLogoutService?: SSOService[];
|
|
118
|
+
isAssertionEncrypted?: boolean;
|
|
119
|
+
encPrivateKey?: string | Buffer;
|
|
120
|
+
encPrivateKeyPass?: string;
|
|
121
|
+
messageSigningOrder?: string;
|
|
122
|
+
wantLogoutRequestSigned?: boolean;
|
|
123
|
+
wantLogoutResponseSigned?: boolean;
|
|
124
|
+
wantAuthnRequestsSigned?: boolean;
|
|
125
|
+
wantLogoutRequestSignedResponseSigned?: boolean;
|
|
126
|
+
tagPrefix?: {
|
|
127
|
+
[key: string]: string;
|
|
128
|
+
};
|
|
129
|
+
};
|