samlesa 2.18.0 → 2.18.1
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/src/libsaml.js +13 -1
- package/package.json +77 -77
- package/types/src/libsaml.d.ts.map +1 -1
- package/types/api.d.ts +0 -15
- package/types/api.d.ts.map +0 -1
- package/types/binding-post.d.ts +0 -48
- package/types/binding-post.d.ts.map +0 -1
- package/types/binding-redirect.d.ts +0 -54
- package/types/binding-redirect.d.ts.map +0 -1
- package/types/binding-simplesign.d.ts +0 -41
- package/types/binding-simplesign.d.ts.map +0 -1
- package/types/entity-idp.d.ts +0 -38
- package/types/entity-idp.d.ts.map +0 -1
- package/types/entity-sp.d.ts +0 -38
- package/types/entity-sp.d.ts.map +0 -1
- package/types/entity.d.ts +0 -100
- package/types/entity.d.ts.map +0 -1
- package/types/extractor.d.ts +0 -26
- package/types/extractor.d.ts.map +0 -1
- package/types/flow.d.ts +0 -7
- package/types/flow.d.ts.map +0 -1
- package/types/libsaml.d.ts +0 -208
- package/types/libsaml.d.ts.map +0 -1
- package/types/metadata-idp.d.ts +0 -25
- package/types/metadata-idp.d.ts.map +0 -1
- package/types/metadata-sp.d.ts +0 -37
- package/types/metadata-sp.d.ts.map +0 -1
- package/types/metadata.d.ts +0 -58
- package/types/metadata.d.ts.map +0 -1
- package/types/types.d.ts +0 -128
- package/types/types.d.ts.map +0 -1
- package/types/urn.d.ts +0 -195
- package/types/urn.d.ts.map +0 -1
- package/types/utility.d.ts +0 -133
- package/types/utility.d.ts.map +0 -1
- package/types/validator.d.ts +0 -4
- package/types/validator.d.ts.map +0 -1
package/build/src/libsaml.js
CHANGED
|
@@ -705,10 +705,20 @@ xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="{ID}"
|
|
|
705
705
|
sig.signatureAlgorithm = opts.signatureAlgorithm;
|
|
706
706
|
// @ts-expect-error misssing Node properties are not needed
|
|
707
707
|
sig.loadSignature(signatureNode);
|
|
708
|
-
//
|
|
708
|
+
// 使用解密后的文档验证最外层签名.默认采用的都是采用的先签名后加密的顺序,对应sp应该先解密 然后验证签名。 如果解密后验证外层签名失败有可能是先加密后签名,此时sp应该直接验证没解密的外层签名
|
|
709
709
|
MessageSignatureStatus = sig.checkSignature(decryptedDoc.toString());
|
|
710
|
+
console.log(MessageSignatureStatus);
|
|
711
|
+
console.log("验证MessageSignatureStatus==========================");
|
|
710
712
|
if (!MessageSignatureStatus) {
|
|
713
|
+
/** 签名验证失败 再直接验证外层*/
|
|
711
714
|
throw new Error('ERR_FAILED_TO_VERIFY_MESSAGE_SIGNATURE_AFTER_DECRYPTION');
|
|
715
|
+
let MessageSignatureStatus2 = sig.checkSignature(xml);
|
|
716
|
+
if (!MessageSignatureStatus2) {
|
|
717
|
+
throw new Error('ERR_FAILED_TO_VERIFY_MESSAGE_SIGNATURE_AFTER_DECRYPTION');
|
|
718
|
+
}
|
|
719
|
+
else {
|
|
720
|
+
MessageSignatureStatus = MessageSignatureStatus2;
|
|
721
|
+
}
|
|
712
722
|
}
|
|
713
723
|
// 3. 验证解密后断言的签名(如果存在)
|
|
714
724
|
if (isAssertionSigned && AssertionSignatureStatus) {
|
|
@@ -1279,6 +1289,8 @@ xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="{ID}"
|
|
|
1279
1289
|
const assertionDocForVerification = dom.parseFromString(decryptedResult, 'application/xml');
|
|
1280
1290
|
const assertionValid = sig.checkSignature(assertionDocForVerification.toString());
|
|
1281
1291
|
AssertionSignatureStatus = assertionValid;
|
|
1292
|
+
console.log(AssertionSignatureStatus);
|
|
1293
|
+
console.log("验证通过了====");
|
|
1282
1294
|
if (!assertionValid) {
|
|
1283
1295
|
throw new Error('ERR_FAILED_TO_VERIFY_DECRYPTED_ASSERTION_SIGNATURE');
|
|
1284
1296
|
}
|
package/package.json
CHANGED
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "samlesa",
|
|
3
|
-
"version": "2.18.
|
|
4
|
-
"description": "High-level API for Single Sign On (SAML 2.0) baseed on samlify ",
|
|
5
|
-
"main": "build/index.js",
|
|
6
|
-
"keywords": [
|
|
7
|
-
"nodejs",
|
|
8
|
-
"saml2",
|
|
9
|
-
"sso",
|
|
10
|
-
"slo",
|
|
11
|
-
"metadata"
|
|
12
|
-
],
|
|
13
|
-
"type": "module",
|
|
14
|
-
"typings": "types/index.d.ts",
|
|
15
|
-
"scripts": {
|
|
16
|
-
"build": "tsc && copyfiles -u 1 src/schema/**/* build/src",
|
|
17
|
-
"docs": "docsify serve -o docs",
|
|
18
|
-
"lint": "tslint -p .",
|
|
19
|
-
"lint:fix": "tslint -p . --fix",
|
|
20
|
-
"test": "vitest",
|
|
21
|
-
"test:watch": "vitest --watch",
|
|
22
|
-
"test:coverage": "vitest run --coverage",
|
|
23
|
-
"hooks:postinstall": "mklink /J .git\\hooks\\pre-commit .pre-commit.sh || copy .pre-commit.sh .git\\hooks\\pre-commit"
|
|
24
|
-
},
|
|
25
|
-
"exports": {
|
|
26
|
-
".": {
|
|
27
|
-
"types": "./types/index.d.ts",
|
|
28
|
-
"import": "./build/index.js"
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
"files": [
|
|
32
|
-
"build",
|
|
33
|
-
"types"
|
|
34
|
-
],
|
|
35
|
-
"contributors": [
|
|
36
|
-
"Veclea <vemocle@gmail.com>"
|
|
37
|
-
],
|
|
38
|
-
"author": "Veclea",
|
|
39
|
-
"repository": {
|
|
40
|
-
"url": "https://github.com/Veclea/samlify.git",
|
|
41
|
-
"type": "git"
|
|
42
|
-
},
|
|
43
|
-
"license": "MIT",
|
|
44
|
-
"dependencies": {
|
|
45
|
-
"@xmldom/xmldom": "^0.9.8",
|
|
46
|
-
"axios": "^1.10.0",
|
|
47
|
-
"camelcase": "^8.0.0",
|
|
48
|
-
"cross-env": "^7.0.3",
|
|
49
|
-
"iconv-lite": "^0.6.3",
|
|
50
|
-
"node-rsa": "^1.1.1",
|
|
51
|
-
"pako": "^2.1.0",
|
|
52
|
-
"ts-node": "^10.9.2",
|
|
53
|
-
"uuid": "^11.1.0",
|
|
54
|
-
"vite-tsconfig-paths": "^5.1.4",
|
|
55
|
-
"xml": "^1.0.1",
|
|
56
|
-
"xml-crypto": "^6.1.2",
|
|
57
|
-
"xml-encryption": "^3.1.0",
|
|
58
|
-
"xml-escape": "^1.1.0",
|
|
59
|
-
"xml2js": "^0.6.2",
|
|
60
|
-
"xmllint-wasm": "^5.0.0",
|
|
61
|
-
"xpath": "^0.0.32"
|
|
62
|
-
},
|
|
63
|
-
"devDependencies": {
|
|
64
|
-
"@types/node": "^24.0.13",
|
|
65
|
-
"@types/pako": "2.0.3",
|
|
66
|
-
"@types/uuid": "10.0.0",
|
|
67
|
-
"@vitest/coverage-istanbul": "^3.2.4",
|
|
68
|
-
"@vitest/coverage-v8": "3.2.4",
|
|
69
|
-
"copyfiles": "^2.4.1",
|
|
70
|
-
"coveralls": "^3.1.1",
|
|
71
|
-
"esbuild": "^0.25.6",
|
|
72
|
-
"jsdom": "^26.1.0",
|
|
73
|
-
"timekeeper": "^2.3.1",
|
|
74
|
-
"typescript": "5.8.3",
|
|
75
|
-
"vitest": "^3.2.4"
|
|
76
|
-
}
|
|
77
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "samlesa",
|
|
3
|
+
"version": "2.18.1",
|
|
4
|
+
"description": "High-level API for Single Sign On (SAML 2.0) baseed on samlify ",
|
|
5
|
+
"main": "build/index.js",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"nodejs",
|
|
8
|
+
"saml2",
|
|
9
|
+
"sso",
|
|
10
|
+
"slo",
|
|
11
|
+
"metadata"
|
|
12
|
+
],
|
|
13
|
+
"type": "module",
|
|
14
|
+
"typings": "types/index.d.ts",
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "tsc && copyfiles -u 1 src/schema/**/* build/src",
|
|
17
|
+
"docs": "docsify serve -o docs",
|
|
18
|
+
"lint": "tslint -p .",
|
|
19
|
+
"lint:fix": "tslint -p . --fix",
|
|
20
|
+
"test": "vitest",
|
|
21
|
+
"test:watch": "vitest --watch",
|
|
22
|
+
"test:coverage": "vitest run --coverage",
|
|
23
|
+
"hooks:postinstall": "mklink /J .git\\hooks\\pre-commit .pre-commit.sh || copy .pre-commit.sh .git\\hooks\\pre-commit"
|
|
24
|
+
},
|
|
25
|
+
"exports": {
|
|
26
|
+
".": {
|
|
27
|
+
"types": "./types/index.d.ts",
|
|
28
|
+
"import": "./build/index.js"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"files": [
|
|
32
|
+
"build",
|
|
33
|
+
"types"
|
|
34
|
+
],
|
|
35
|
+
"contributors": [
|
|
36
|
+
"Veclea <vemocle@gmail.com>"
|
|
37
|
+
],
|
|
38
|
+
"author": "Veclea",
|
|
39
|
+
"repository": {
|
|
40
|
+
"url": "https://github.com/Veclea/samlify.git",
|
|
41
|
+
"type": "git"
|
|
42
|
+
},
|
|
43
|
+
"license": "MIT",
|
|
44
|
+
"dependencies": {
|
|
45
|
+
"@xmldom/xmldom": "^0.9.8",
|
|
46
|
+
"axios": "^1.10.0",
|
|
47
|
+
"camelcase": "^8.0.0",
|
|
48
|
+
"cross-env": "^7.0.3",
|
|
49
|
+
"iconv-lite": "^0.6.3",
|
|
50
|
+
"node-rsa": "^1.1.1",
|
|
51
|
+
"pako": "^2.1.0",
|
|
52
|
+
"ts-node": "^10.9.2",
|
|
53
|
+
"uuid": "^11.1.0",
|
|
54
|
+
"vite-tsconfig-paths": "^5.1.4",
|
|
55
|
+
"xml": "^1.0.1",
|
|
56
|
+
"xml-crypto": "^6.1.2",
|
|
57
|
+
"xml-encryption": "^3.1.0",
|
|
58
|
+
"xml-escape": "^1.1.0",
|
|
59
|
+
"xml2js": "^0.6.2",
|
|
60
|
+
"xmllint-wasm": "^5.0.0",
|
|
61
|
+
"xpath": "^0.0.32"
|
|
62
|
+
},
|
|
63
|
+
"devDependencies": {
|
|
64
|
+
"@types/node": "^24.0.13",
|
|
65
|
+
"@types/pako": "2.0.3",
|
|
66
|
+
"@types/uuid": "10.0.0",
|
|
67
|
+
"@vitest/coverage-istanbul": "^3.2.4",
|
|
68
|
+
"@vitest/coverage-v8": "3.2.4",
|
|
69
|
+
"copyfiles": "^2.4.1",
|
|
70
|
+
"coveralls": "^3.1.1",
|
|
71
|
+
"esbuild": "^0.25.6",
|
|
72
|
+
"jsdom": "^26.1.0",
|
|
73
|
+
"timekeeper": "^2.3.1",
|
|
74
|
+
"typescript": "5.8.3",
|
|
75
|
+
"vitest": "^3.2.4"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libsaml.d.ts","sourceRoot":"","sources":["../../src/libsaml.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"libsaml.d.ts","sourceRoot":"","sources":["../../src/libsaml.ts"],"names":[],"mappings":"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"}
|
package/types/api.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { DOMParser as dom } from '@xmldom/xmldom';
|
|
2
|
-
import type { Options as DOMParserOptions } from '@xmldom/xmldom';
|
|
3
|
-
interface Context extends ValidatorContext, DOMParserContext {
|
|
4
|
-
}
|
|
5
|
-
interface ValidatorContext {
|
|
6
|
-
validate?: (xml: string) => Promise<any>;
|
|
7
|
-
}
|
|
8
|
-
interface DOMParserContext {
|
|
9
|
-
dom: dom;
|
|
10
|
-
}
|
|
11
|
-
export declare function getContext(): Context;
|
|
12
|
-
export declare function setSchemaValidator(params: ValidatorContext): void;
|
|
13
|
-
export declare function setDOMParserOptions(options?: DOMParserOptions): void;
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=api.d.ts.map
|
package/types/api.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElE,UAAU,OAAQ,SAAQ,gBAAgB,EAAE,gBAAgB;CAAG;AAE/D,UAAU,gBAAgB;IACxB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CAC1C;AAED,UAAU,gBAAgB;IACxB,GAAG,EAAE,GAAG,CAAC;CACV;AAOD,wBAAgB,UAAU,IAAG,OAAO,CAEnC;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,GAAE,IAAI,CAShE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,gBAAqB,GAAE,IAAI,CAEvE"}
|
package/types/binding-post.d.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file binding-post.ts
|
|
3
|
-
* @author tngan
|
|
4
|
-
* @desc Binding-level API, declare the functions using POST binding
|
|
5
|
-
*/
|
|
6
|
-
import type { BindingContext } from './entity.js';
|
|
7
|
-
/**
|
|
8
|
-
* @desc Generate a base64 encoded login request
|
|
9
|
-
* @param {string} referenceTagXPath reference uri
|
|
10
|
-
* @param {object} entity object includes both idp and sp
|
|
11
|
-
* @param {function} customTagReplacement used when developers have their own login response template
|
|
12
|
-
*/
|
|
13
|
-
declare function base64LoginRequest(referenceTagXPath: string, entity: any, customTagReplacement?: (template: string) => BindingContext): BindingContext;
|
|
14
|
-
/**
|
|
15
|
-
* @desc Generate a base64 encoded login response
|
|
16
|
-
* @param {object} requestInfo corresponding request, used to obtain the id
|
|
17
|
-
* @param {object} entity object includes both idp and sp
|
|
18
|
-
* @param {object} user current logged user (e.g. req.user)
|
|
19
|
-
* @param {function} customTagReplacement used when developers have their own login response template
|
|
20
|
-
* @param {boolean} encryptThenSign whether or not to encrypt then sign first (if signing). Defaults to sign-then-encrypt
|
|
21
|
-
* @param AttributeStatement
|
|
22
|
-
*/
|
|
23
|
-
declare function base64LoginResponse(requestInfo: any | undefined, entity: any, user?: any, customTagReplacement?: (template: string) => BindingContext, encryptThenSign?: boolean, AttributeStatement?: never[]): Promise<BindingContext>;
|
|
24
|
-
/**
|
|
25
|
-
* @desc Generate a base64 encoded logout request
|
|
26
|
-
* @param {object} user current logged user (e.g. req.user)
|
|
27
|
-
* @param {string} referenceTagXPath reference uri
|
|
28
|
-
* @param {object} entity object includes both idp and sp
|
|
29
|
-
* @param {function} customTagReplacement used when developers have their own login response template
|
|
30
|
-
* @return {string} base64 encoded request
|
|
31
|
-
*/
|
|
32
|
-
declare function base64LogoutRequest(user: Record<string, unknown>, referenceTagXPath: string, entity: any, customTagReplacement?: (template: string) => BindingContext): BindingContext;
|
|
33
|
-
/**
|
|
34
|
-
* @desc Generate a base64 encoded logout response
|
|
35
|
-
* @param {object} requestInfo corresponding request, used to obtain the id
|
|
36
|
-
* @param {string} referenceTagXPath reference uri
|
|
37
|
-
* @param {object} entity object includes both idp and sp
|
|
38
|
-
* @param {function} customTagReplacement used when developers have their own login response template
|
|
39
|
-
*/
|
|
40
|
-
declare function base64LogoutResponse(requestInfo: any, entity: any, customTagReplacement: (template: string) => BindingContext): BindingContext;
|
|
41
|
-
declare const postBinding: {
|
|
42
|
-
base64LoginRequest: typeof base64LoginRequest;
|
|
43
|
-
base64LoginResponse: typeof base64LoginResponse;
|
|
44
|
-
base64LogoutRequest: typeof base64LogoutRequest;
|
|
45
|
-
base64LogoutResponse: typeof base64LogoutResponse;
|
|
46
|
-
};
|
|
47
|
-
export default postBinding;
|
|
48
|
-
//# sourceMappingURL=binding-post.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"binding-post.d.ts","sourceRoot":"","sources":["../src/binding-post.ts"],"names":[],"mappings":"AAAA;;;;EAIE;AAGF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAMlD;;;;;EAKE;AACF,iBAAS,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAAG,cAAc,CAqD/I;AACD;;;;;;;;GAQG;AACH,iBAAe,mBAAmB,CAAC,WAAW,EAAE,GAAG,YAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,GAAE,GAAQ,EAAE,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,EAAE,eAAe,GAAE,OAAe,EAAG,kBAAkB,UAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAuIrO;AACD;;;;;;;EAOE;AACF,iBAAS,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,EAAC,MAAM,EAAE,MAAM,KAAA,EAAE,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAAG,cAAc,CAkDzK;AACD;;;;;;EAME;AACF,iBAAS,oBAAoB,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAAG,cAAc,CAsDvI;AAED,QAAA,MAAM,WAAW;;;;;CAKhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import type { BindingContext } from './entity.js';
|
|
2
|
-
import { IdentityProvider as Idp } from './entity-idp.js';
|
|
3
|
-
import { ServiceProvider as Sp } from './entity-sp.js';
|
|
4
|
-
export interface BuildRedirectConfig {
|
|
5
|
-
baseUrl: string;
|
|
6
|
-
type: string;
|
|
7
|
-
isSigned: boolean;
|
|
8
|
-
context: string;
|
|
9
|
-
entitySetting: any;
|
|
10
|
-
relayState?: string;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* @desc Redirect URL for login request
|
|
14
|
-
* @param {object} entity object includes both idp and sp
|
|
15
|
-
* @param {function} customTagReplacement used when developers have their own login response template
|
|
16
|
-
* @return {string} redirect URL
|
|
17
|
-
*/
|
|
18
|
-
declare function loginRequestRedirectURL(entity: {
|
|
19
|
-
idp: Idp;
|
|
20
|
-
sp: Sp;
|
|
21
|
-
}, customTagReplacement?: (template: string) => BindingContext): BindingContext;
|
|
22
|
-
/**
|
|
23
|
-
* @desc Redirect URL for login response
|
|
24
|
-
* @param {object} requestInfo corresponding request, used to obtain the id
|
|
25
|
-
* @param {object} entity object includes both idp and sp
|
|
26
|
-
* @param {object} user current logged user (e.g. req.user)
|
|
27
|
-
* @param {String} relayState the relaystate sent by sp corresponding request
|
|
28
|
-
* @param {function} customTagReplacement used when developers have their own login response template
|
|
29
|
-
* @param AttributeStatement
|
|
30
|
-
*/
|
|
31
|
-
declare function loginResponseRedirectURL(requestInfo: any, entity: any, user?: any, relayState?: string, customTagReplacement?: (template: string) => BindingContext, AttributeStatement?: never[]): BindingContext;
|
|
32
|
-
/**
|
|
33
|
-
* @desc Redirect URL for logout request
|
|
34
|
-
* @param {object} user current logged user (e.g. req.user)
|
|
35
|
-
* @param {object} entity object includes both idp and sp
|
|
36
|
-
* @param {function} customTagReplacement used when developers have their own login response template
|
|
37
|
-
* @return {string} redirect URL
|
|
38
|
-
*/
|
|
39
|
-
declare function logoutRequestRedirectURL(user: any, entity: any, relayState?: string, customTagReplacement?: (template: string, tags: object) => BindingContext): BindingContext;
|
|
40
|
-
/**
|
|
41
|
-
* @desc Redirect URL for logout response
|
|
42
|
-
* @param {object} requescorresponding request, used to obtain the id
|
|
43
|
-
* @param {object} entity object includes both idp and sp
|
|
44
|
-
* @param {function} customTagReplacement used when developers have their own login response template
|
|
45
|
-
*/
|
|
46
|
-
declare function logoutResponseRedirectURL(requestInfo: any, entity: any, relayState?: string, customTagReplacement?: (template: string) => BindingContext): BindingContext;
|
|
47
|
-
declare const redirectBinding: {
|
|
48
|
-
loginRequestRedirectURL: typeof loginRequestRedirectURL;
|
|
49
|
-
loginResponseRedirectURL: typeof loginResponseRedirectURL;
|
|
50
|
-
logoutRequestRedirectURL: typeof logoutRequestRedirectURL;
|
|
51
|
-
logoutResponseRedirectURL: typeof logoutResponseRedirectURL;
|
|
52
|
-
};
|
|
53
|
-
export default redirectBinding;
|
|
54
|
-
//# sourceMappingURL=binding-redirect.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"binding-redirect.d.ts","sourceRoot":"","sources":["../src/binding-redirect.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAChD,OAAO,EAAC,gBAAgB,IAAI,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAC,eAAe,IAAI,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAOrD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,GAAG,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAgED;;;;;GAKG;AACH,iBAAS,uBAAuB,CAAC,MAAM,EAAE;IACvC,GAAG,EAAE,GAAG,CAAC;IACT,EAAE,EAAE,EAAE,CAAA;CACP,EAAE,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAAG,cAAc,CAyC9E;AAED;;;;;;;;GAQG;AACH,iBAAS,wBAAwB,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,GAAE,GAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,EAAC,kBAAkB,UAAI,GAAG,cAAc,CAoGxM;AAED;;;;;;GAMG;AACH,iBAAS,wBAAwB,CAAC,IAAI,KAAA,EAAE,MAAM,KAAA,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,cAAc,GAAG,cAAc,CAwC9J;AAED;;;;;GAKG;AACH,iBAAS,yBAAyB,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAAG,cAAc,CAyClK;AAED,QAAA,MAAM,eAAe;;;;;CAKpB,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file binding-simplesign.ts
|
|
3
|
-
* @author Orange
|
|
4
|
-
* @desc Binding-level API, declare the functions using POST SimpleSign binding
|
|
5
|
-
*/
|
|
6
|
-
import type { BindingContext, SimpleSignComputedContext } from './entity.js';
|
|
7
|
-
export interface BuildSimpleSignConfig {
|
|
8
|
-
type: string;
|
|
9
|
-
context: string;
|
|
10
|
-
entitySetting: any;
|
|
11
|
-
relayState?: string;
|
|
12
|
-
}
|
|
13
|
-
export interface BindingSimpleSignContext {
|
|
14
|
-
id: string;
|
|
15
|
-
context: string;
|
|
16
|
-
signature: any;
|
|
17
|
-
sigAlg: string;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* @desc Generate a base64 encoded login request
|
|
21
|
-
* @param {string} referenceTagXPath reference uri
|
|
22
|
-
* @param {object} entity object includes both idp and sp
|
|
23
|
-
* @param {function} customTagReplacement used when developers have their own login response template
|
|
24
|
-
*/
|
|
25
|
-
declare function base64LoginRequest(entity: any, customTagReplacement?: (template: string) => BindingContext): SimpleSignComputedContext;
|
|
26
|
-
/**
|
|
27
|
-
* @desc Generate a base64 encoded login response
|
|
28
|
-
* @param {object} requestInfo corresponding request, used to obtain the id
|
|
29
|
-
* @param {object} entity object includes both idp and sp
|
|
30
|
-
* @param {object} user current logged user (e.g. req.user)
|
|
31
|
-
* @param {string} relayState the relay state
|
|
32
|
-
* @param {function} customTagReplacement used when developers have their own login response template
|
|
33
|
-
* @param AttributeStatement
|
|
34
|
-
*/
|
|
35
|
-
declare function base64LoginResponse(requestInfo: any | undefined, entity: any, user?: any, relayState?: string, customTagReplacement?: (template: string) => BindingContext, AttributeStatement?: []): Promise<BindingSimpleSignContext>;
|
|
36
|
-
declare const simpleSignBinding: {
|
|
37
|
-
base64LoginRequest: typeof base64LoginRequest;
|
|
38
|
-
base64LoginResponse: typeof base64LoginResponse;
|
|
39
|
-
};
|
|
40
|
-
export default simpleSignBinding;
|
|
41
|
-
//# sourceMappingURL=binding-simplesign.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"binding-simplesign.d.ts","sourceRoot":"","sources":["../src/binding-simplesign.ts"],"names":[],"mappings":"AAAA;;;;EAIE;AAGF,OAAQ,KAAK,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAO9E,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,GAAG,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,GAAG,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AA6CD;;;;;EAKE;AACF,iBAAS,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAAG,yBAAyB,CAkD/H;AACD;;;;;;;;GAQG;AACH,iBAAe,mBAAmB,CAAC,WAAW,EAAE,GAAG,YAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,GAAE,GAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,EAAE,kBAAkB,GAAC,EAAO,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA6FtO;AAED,QAAA,MAAM,iBAAiB;;;CAGpB,CAAC;AAEJ,eAAe,iBAAiB,CAAC"}
|
package/types/entity-idp.d.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import Entity, { type ESamlHttpRequest } from './entity.js';
|
|
2
|
-
import { ServiceProviderConstructor as ServiceProvider, IdentityProviderMetadata, type IdentityProviderSettings } from './types.js';
|
|
3
|
-
import { type FlowResult } from './flow.js';
|
|
4
|
-
import type { BindingContext } from './entity.js';
|
|
5
|
-
/**
|
|
6
|
-
* Identity provider can be configured using either metadata importing or idpSetting
|
|
7
|
-
*/
|
|
8
|
-
export default function (props: IdentityProviderSettings): IdentityProvider;
|
|
9
|
-
/**
|
|
10
|
-
* Identity provider can be configured using either metadata importing or idpSetting
|
|
11
|
-
*/
|
|
12
|
-
export declare class IdentityProvider extends Entity {
|
|
13
|
-
entityMeta: IdentityProviderMetadata;
|
|
14
|
-
constructor(idpSetting: IdentityProviderSettings);
|
|
15
|
-
/**
|
|
16
|
-
* @desc Generates the login response for developers to design their own method
|
|
17
|
-
* @param params
|
|
18
|
-
*/
|
|
19
|
-
createLoginResponse(params: {
|
|
20
|
-
sp: ServiceProvider;
|
|
21
|
-
requestInfo: Record<string, any>;
|
|
22
|
-
binding?: string;
|
|
23
|
-
user: Record<string, any>;
|
|
24
|
-
customTagReplacement?: (template: string) => BindingContext;
|
|
25
|
-
encryptThenSign?: boolean;
|
|
26
|
-
relayState?: string;
|
|
27
|
-
context: Record<string, any>;
|
|
28
|
-
AttributeStatement: [];
|
|
29
|
-
}): Promise<any>;
|
|
30
|
-
/**
|
|
31
|
-
* Validation of the parsed URL parameters
|
|
32
|
-
* @param sp ServiceProvider instance
|
|
33
|
-
* @param binding Protocol binding
|
|
34
|
-
* @param req RequesmessageSigningOrderst
|
|
35
|
-
*/
|
|
36
|
-
parseLoginRequest(sp: ServiceProvider, binding: string, req: ESamlHttpRequest): Promise<FlowResult>;
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=entity-idp.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entity-idp.d.ts","sourceRoot":"","sources":["../src/entity-idp.ts"],"names":[],"mappings":"AAYA,OAAO,MAAM,EAAE,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EACL,0BAA0B,IAAI,eAAe,EAE7C,wBAAwB,EACxB,KAAK,wBAAwB,EAC9B,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAO,WAAW,CAAC;AAEnD,OAAO,KAAM,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,WAAU,KAAK,EAAE,wBAAwB,oBAEtD;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,MAAM;IAElC,UAAU,EAAE,wBAAwB,CAAC;gBAEjC,UAAU,EAAE,wBAAwB;IAqChD;;;OAGG;IACU,mBAAmB,CAAC,MAAM,EAAC;QACtC,EAAE,EAAE,eAAe,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACjC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAC;QAC5D,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,kBAAkB,EAAC,EAAE,CAAA;KACtB;IAyCD;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB;CAY9E"}
|
package/types/entity-sp.d.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file entity-sp.ts
|
|
3
|
-
* @author tngan
|
|
4
|
-
* @desc Declares the actions taken by service provider
|
|
5
|
-
*/
|
|
6
|
-
import Entity from './entity.js';
|
|
7
|
-
import type { BindingContext, PostBindingContext, ESamlHttpRequest, SimpleSignBindingContext } from './entity.js';
|
|
8
|
-
import { IdentityProviderConstructor as IdentityProvider, ServiceProviderMetadata, type ServiceProviderSettings } from './types.js';
|
|
9
|
-
import { type FlowResult } from './flow.js';
|
|
10
|
-
export default function (props: ServiceProviderSettings): ServiceProvider;
|
|
11
|
-
/**
|
|
12
|
-
* @desc Service provider can be configured using either metadata importing or spSetting
|
|
13
|
-
* @param {object} spSettingimport { FlowResult } from '../types/src/flow.d';
|
|
14
|
-
|
|
15
|
-
*/
|
|
16
|
-
export declare class ServiceProvider extends Entity {
|
|
17
|
-
entityMeta: ServiceProviderMetadata;
|
|
18
|
-
/**
|
|
19
|
-
* @desc Inherited from Entity
|
|
20
|
-
* @param {object} spSetting setting of service provider
|
|
21
|
-
*/
|
|
22
|
-
constructor(spSetting: ServiceProviderSettings);
|
|
23
|
-
/**
|
|
24
|
-
* @desc Generates the login request for developers to design their own method
|
|
25
|
-
* @param {IdentityProvider} idp object of identity provider
|
|
26
|
-
* @param {string} binding protocol binding
|
|
27
|
-
* @param {function} customTagReplacement used when developers have their own login response template
|
|
28
|
-
*/
|
|
29
|
-
createLoginRequest(idp: IdentityProvider, binding?: string, customTagReplacement?: (template: string) => BindingContext): BindingContext | PostBindingContext | SimpleSignBindingContext;
|
|
30
|
-
/**
|
|
31
|
-
* @desc Validation of the parsed the URL parameters
|
|
32
|
-
* @param {IdentityProvider} idp object of identity provider
|
|
33
|
-
* @param {string} binding protocol binding
|
|
34
|
-
* @param {request} req request
|
|
35
|
-
*/
|
|
36
|
-
parseLoginResponse(idp: any, binding: any, request: ESamlHttpRequest): Promise<FlowResult>;
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=entity-sp.d.ts.map
|
package/types/entity-sp.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entity-sp.d.ts","sourceRoot":"","sources":["../src/entity-sp.ts"],"names":[],"mappings":"AAAA;;;;EAIE;AACF,OAAO,MAEN,MAAM,aAAa,CAAC;AACrB,OAAQ,KAAK,EAAG,cAAc,EAC5B,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EAAE,MAAK,aAAa,CAAC;AAC/C,OAAO,EACL,2BAA2B,IAAI,gBAAgB,EAC/C,uBAAuB,EACvB,KAAK,uBAAuB,EAC7B,MAAM,YAAY,CAAC;AAKpB,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAO,WAAW,CAAC;AAKnD,MAAM,CAAC,OAAO,WAAU,KAAK,EAAE,uBAAuB,mBAErD;AAED;;;;EAIE;AACF,qBAAa,eAAgB,SAAQ,MAAM;IAChC,UAAU,EAAE,uBAAuB,CAAC;IAE7C;;;MAGE;gBACU,SAAS,EAAE,uBAAuB;IAS9C;;;;;MAKE;IACK,kBAAkB,CACvB,GAAG,EAAE,gBAAgB,EACrB,OAAO,SAAa,EACpB,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAC1D,cAAc,GAAG,kBAAkB,GAAE,wBAAwB;IAkChE;;;;;MAKE;IACK,kBAAkB,CAAC,GAAG,KAAA,EAAE,OAAO,KAAA,EAAE,OAAO,EAAE,gBAAgB;CAalE"}
|
package/types/entity.d.ts
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { IdpMetadata as IdpMetadataConstructor } from './metadata-idp.js';
|
|
2
|
-
import { SpMetadata as SpMetadataConstructor } from './metadata-sp.js';
|
|
3
|
-
import type { MetadataIdpConstructor, MetadataSpConstructor, EntitySetting } from './types.js';
|
|
4
|
-
import { type FlowResult } from './flow.js';
|
|
5
|
-
export interface ESamlHttpRequest {
|
|
6
|
-
query?: any;
|
|
7
|
-
body?: any;
|
|
8
|
-
octetString?: string;
|
|
9
|
-
}
|
|
10
|
-
export interface BindingContext {
|
|
11
|
-
context: string;
|
|
12
|
-
id: string;
|
|
13
|
-
}
|
|
14
|
-
export interface PostBindingContext extends BindingContext {
|
|
15
|
-
relayState?: string;
|
|
16
|
-
entityEndpoint: string;
|
|
17
|
-
type: string;
|
|
18
|
-
}
|
|
19
|
-
export interface SimpleSignBindingContext extends PostBindingContext {
|
|
20
|
-
sigAlg?: string;
|
|
21
|
-
signature?: string;
|
|
22
|
-
keyInfo?: string;
|
|
23
|
-
}
|
|
24
|
-
export interface SimpleSignComputedContext extends BindingContext {
|
|
25
|
-
sigAlg?: string;
|
|
26
|
-
signature?: string;
|
|
27
|
-
}
|
|
28
|
-
export interface ParseResult {
|
|
29
|
-
samlContent: string;
|
|
30
|
-
extract: any;
|
|
31
|
-
sigAlg: string;
|
|
32
|
-
}
|
|
33
|
-
export type EntityConstructor = (MetadataIdpConstructor | MetadataSpConstructor) & {
|
|
34
|
-
metadata?: string | Buffer;
|
|
35
|
-
};
|
|
36
|
-
export default class Entity {
|
|
37
|
-
entitySetting: EntitySetting;
|
|
38
|
-
entityType: string;
|
|
39
|
-
entityMeta: IdpMetadataConstructor | SpMetadataConstructor;
|
|
40
|
-
/**
|
|
41
|
-
* @param entitySetting
|
|
42
|
-
* @param entityMeta is the entity metadata, deprecated after 2.0
|
|
43
|
-
*/
|
|
44
|
-
constructor(entitySetting: EntityConstructor, entityType: 'idp' | 'sp');
|
|
45
|
-
/**
|
|
46
|
-
* @desc Returns the setting of entity
|
|
47
|
-
* @return {object}
|
|
48
|
-
*/
|
|
49
|
-
getEntitySetting(): EntitySetting;
|
|
50
|
-
/**
|
|
51
|
-
* @desc Returns the xml string of entity metadata
|
|
52
|
-
* @return {string}
|
|
53
|
-
*/
|
|
54
|
-
getMetadata(): string;
|
|
55
|
-
/**
|
|
56
|
-
* @desc Exports the entity metadata into specified folder
|
|
57
|
-
* @param {string} exportFile indicates the file name
|
|
58
|
-
*/
|
|
59
|
-
exportMetadata(exportFile: string): void;
|
|
60
|
-
/** * @desc Verify fields with the one specified in metadata
|
|
61
|
-
* @param {string/[string]} field is a string or an array of string indicating the field value in SAML message
|
|
62
|
-
* @param {string} metaField is a string indicating the same field specified in metadata
|
|
63
|
-
* @return {boolean} True/False
|
|
64
|
-
*/
|
|
65
|
-
verifyFields(field: string | string[], metaField: string): boolean;
|
|
66
|
-
/** @desc Generates the logout request for developers to design their own method
|
|
67
|
-
* @param {ServiceProvider} sp object of service provider
|
|
68
|
-
* @param {string} binding protocol binding
|
|
69
|
-
* @param {object} user current logged user (e.g. user)
|
|
70
|
-
* @param {string} relayState the URL to which to redirect the user when logout is complete
|
|
71
|
-
* @param {function} customTagReplacement used when developers have their own login response template
|
|
72
|
-
*/
|
|
73
|
-
createLogoutRequest(targetEntity: any, binding: any, user: any, relayState?: string, customTagReplacement?: any): BindingContext | PostBindingContext;
|
|
74
|
-
/**
|
|
75
|
-
* @desc Generates the logout response for developers to design their own method
|
|
76
|
-
* @param {IdentityProvider} idp object of identity provider
|
|
77
|
-
* @param {object} requestInfo corresponding request, used to obtain the id
|
|
78
|
-
* @param {string} relayState the URL to which to redirect the user when logout is complete.
|
|
79
|
-
* @param {string} binding protocol binding
|
|
80
|
-
* @param {function} customTagReplacement used when developers have their own login response template
|
|
81
|
-
*/
|
|
82
|
-
createLogoutResponse(target: any, requestInfo: any, binding: any, relayState?: string, customTagReplacement?: any): BindingContext | PostBindingContext;
|
|
83
|
-
/**
|
|
84
|
-
* @desc Validation of the parsed the URL parameters
|
|
85
|
-
* @param {IdentityProvider} idp object of identity provider
|
|
86
|
-
* @param {string} binding protocol binding
|
|
87
|
-
* @param {request} req request
|
|
88
|
-
* @return {Promise}
|
|
89
|
-
*/
|
|
90
|
-
parseLogoutRequest(from: any, binding: any, request: ESamlHttpRequest): Promise<FlowResult>;
|
|
91
|
-
/**
|
|
92
|
-
* @desc Validation of the parsed the URL parameters
|
|
93
|
-
* @param {object} config config for the parser
|
|
94
|
-
* @param {string} binding protocol binding
|
|
95
|
-
* @param {request} req request
|
|
96
|
-
* @return {Promise}
|
|
97
|
-
*/
|
|
98
|
-
parseLogoutResponse(from: any, binding: any, request: ESamlHttpRequest): Promise<FlowResult>;
|
|
99
|
-
}
|
|
100
|
-
//# sourceMappingURL=entity.d.ts.map
|
package/types/entity.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../src/entity.ts"],"names":[],"mappings":"AAQA,OAAoB,EAAE,WAAW,IAAI,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAmB,EAAE,UAAU,IAAI,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGnF,OAAQ,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAO,WAAW,CAAC;AAoBnD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,yBAA0B,SAAQ,cAAc;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,GAAG,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,sBAAsB,GAAG,qBAAqB,CAAC,GAC5E;IAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEnC,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,sBAAsB,GAAG,qBAAqB,CAAC;IAE3D;;;MAGE;gBACU,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,KAAK,GAAG,IAAI;IAsBtE;;;MAGE;IACF,gBAAgB;IAGhB;;;MAGE;IACF,WAAW,IAAI,MAAM;IAIrB;;;MAGE;IACF,cAAc,CAAC,UAAU,EAAE,MAAM;IAIjC;;;;MAIE;IACF,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAgBlE;;;;;;MAME;IACF,mBAAmB,CAAC,YAAY,KAAA,EAAE,OAAO,KAAA,EAAE,IAAI,KAAA,EAAE,UAAU,SAAK,EAAE,oBAAoB,CAAC,KAAA,GAAG,cAAc,GAAG,kBAAkB;IAqB7H;;;;;;;MAOE;IACF,oBAAoB,CAAC,MAAM,KAAA,EAAE,WAAW,KAAA,EAAE,OAAO,KAAA,EAAE,UAAU,SAAK,EAAE,oBAAoB,CAAC,KAAA,GAAG,cAAc,GAAG,kBAAkB;IAuB/H;;;;;;MAME;IACF,kBAAkB,CAAC,IAAI,KAAA,EAAE,OAAO,KAAA,EAAE,OAAO,EAAE,gBAAgB;IAY3D;;;;;;MAME;IACF,mBAAmB,CAAC,IAAI,KAAA,EAAE,OAAO,KAAA,EAAE,OAAO,EAAE,gBAAgB;CAY7D"}
|
package/types/extractor.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
interface ExtractorField {
|
|
2
|
-
key: string;
|
|
3
|
-
localPath: string[] | string[][];
|
|
4
|
-
attributes: string[];
|
|
5
|
-
index?: string[];
|
|
6
|
-
attributePath?: string[];
|
|
7
|
-
context?: boolean;
|
|
8
|
-
}
|
|
9
|
-
export type ExtractorFields = ExtractorField[];
|
|
10
|
-
export declare const loginRequestFields: ExtractorFields;
|
|
11
|
-
export declare const loginResponseStatusFields: {
|
|
12
|
-
key: string;
|
|
13
|
-
localPath: string[];
|
|
14
|
-
attributes: string[];
|
|
15
|
-
}[];
|
|
16
|
-
export declare const logoutResponseStatusFields: {
|
|
17
|
-
key: string;
|
|
18
|
-
localPath: string[];
|
|
19
|
-
attributes: string[];
|
|
20
|
-
}[];
|
|
21
|
-
export declare const loginResponseFields: ((assertion: any) => ExtractorFields);
|
|
22
|
-
export declare const logoutRequestFields: ExtractorFields;
|
|
23
|
-
export declare const logoutResponseFields: ExtractorFields;
|
|
24
|
-
export declare function extract(context: string, fields: any): any;
|
|
25
|
-
export {};
|
|
26
|
-
//# sourceMappingURL=extractor.d.ts.map
|
package/types/extractor.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../src/extractor.ts"],"names":[],"mappings":"AAKA,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;IACjC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,eAAe,GAAG,cAAc,EAAE,CAAC;AA4B/C,eAAO,MAAM,kBAAkB,EAAE,eA2BhC,CAAC;AAGF,eAAO,MAAM,yBAAyB;;;;GAWrC,CAAC;AAGF,eAAO,MAAM,0BAA0B;;;;GAWtC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,CAAC,CAAC,SAAS,EAAE,GAAG,KAAK,eAAe,CAiDrE,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,eA2BjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,eAiBlC,CAAC;AAEF,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,KAAA,OAiM9C"}
|
package/types/flow.d.ts
DELETED
package/types/flow.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../src/flow.ts"],"names":[],"mappings":"AAyBA,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,GAAG,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,GAAC,IAAI,CAAE;CACvB;AA4ZD,wBAAgB,IAAI,CAAC,OAAO,KAAA,GAAG,OAAO,CAAC,UAAU,CAAC,CAyBjD"}
|