samlesa 2.16.6 → 2.17.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.

Potentially problematic release.


This version of samlesa might be problematic. Click here for more details.

Files changed (82) hide show
  1. package/README.md +30 -50
  2. package/build/index.js +2 -1
  3. package/build/src/binding-artifact.js +330 -146
  4. package/build/src/binding-post.js +45 -31
  5. package/build/src/binding-redirect.js +0 -10
  6. package/build/src/binding-simplesign.js +0 -1
  7. package/build/src/entity-idp.js +1 -5
  8. package/build/src/entity-sp.js +21 -96
  9. package/build/src/extractor.js +48 -4
  10. package/build/src/flow.js +24 -166
  11. package/build/src/libsaml.js +468 -264
  12. package/build/src/libsamlSoap.js +115 -0
  13. package/build/src/schema/xml.xsd +88 -88
  14. package/build/src/schemaValidator.js +5 -13
  15. package/build/src/soap.js +123 -3
  16. package/build/src/utility.js +12 -7
  17. package/package.json +77 -81
  18. package/types/api.d.ts +15 -0
  19. package/types/api.d.ts.map +1 -0
  20. package/types/binding-post.d.ts +48 -0
  21. package/types/binding-post.d.ts.map +1 -0
  22. package/types/binding-redirect.d.ts +54 -0
  23. package/types/binding-redirect.d.ts.map +1 -0
  24. package/types/binding-simplesign.d.ts +41 -0
  25. package/types/binding-simplesign.d.ts.map +1 -0
  26. package/types/entity-idp.d.ts +38 -0
  27. package/types/entity-idp.d.ts.map +1 -0
  28. package/types/entity-sp.d.ts +38 -0
  29. package/types/entity-sp.d.ts.map +1 -0
  30. package/types/entity.d.ts +100 -0
  31. package/types/entity.d.ts.map +1 -0
  32. package/types/extractor.d.ts +26 -0
  33. package/types/extractor.d.ts.map +1 -0
  34. package/types/flow.d.ts +7 -0
  35. package/types/flow.d.ts.map +1 -0
  36. package/types/index.d.ts +2 -1
  37. package/types/index.d.ts.map +1 -1
  38. package/types/libsaml.d.ts +208 -0
  39. package/types/libsaml.d.ts.map +1 -0
  40. package/types/metadata-idp.d.ts +25 -0
  41. package/types/metadata-idp.d.ts.map +1 -0
  42. package/types/metadata-sp.d.ts +37 -0
  43. package/types/metadata-sp.d.ts.map +1 -0
  44. package/types/metadata.d.ts +58 -0
  45. package/types/metadata.d.ts.map +1 -0
  46. package/types/src/api.d.ts +3 -3
  47. package/types/src/api.d.ts.map +1 -1
  48. package/types/src/binding-artifact.d.ts +24 -29
  49. package/types/src/binding-artifact.d.ts.map +1 -1
  50. package/types/src/binding-post.d.ts +22 -22
  51. package/types/src/binding-post.d.ts.map +1 -1
  52. package/types/src/binding-redirect.d.ts.map +1 -1
  53. package/types/src/binding-simplesign.d.ts.map +1 -1
  54. package/types/src/entity-idp.d.ts +3 -4
  55. package/types/src/entity-idp.d.ts.map +1 -1
  56. package/types/src/entity-sp.d.ts +13 -24
  57. package/types/src/entity-sp.d.ts.map +1 -1
  58. package/types/src/entity.d.ts.map +1 -1
  59. package/types/src/extractor.d.ts +22 -0
  60. package/types/src/extractor.d.ts.map +1 -1
  61. package/types/src/flow.d.ts +1 -0
  62. package/types/src/flow.d.ts.map +1 -1
  63. package/types/src/libsaml.d.ts +16 -7
  64. package/types/src/libsaml.d.ts.map +1 -1
  65. package/types/src/libsamlSoap.d.ts +7 -0
  66. package/types/src/libsamlSoap.d.ts.map +1 -0
  67. package/types/src/schemaValidator.d.ts +1 -1
  68. package/types/src/schemaValidator.d.ts.map +1 -1
  69. package/types/src/soap.d.ts +33 -0
  70. package/types/src/soap.d.ts.map +1 -1
  71. package/types/src/utility.d.ts.map +1 -1
  72. package/types/src/validator.d.ts.map +1 -1
  73. package/types/types.d.ts +128 -0
  74. package/types/types.d.ts.map +1 -0
  75. package/types/urn.d.ts +195 -0
  76. package/types/urn.d.ts.map +1 -0
  77. package/types/utility.d.ts +133 -0
  78. package/types/utility.d.ts.map +1 -0
  79. package/types/validator.d.ts +4 -0
  80. package/types/validator.d.ts.map +1 -0
  81. package/build/src/schema/XMLSchema.dtd +0 -402
  82. package/build/src/schema/datatypes.dtd +0 -203
@@ -0,0 +1,208 @@
1
+ import type { MetadataInterface } from './metadata.js';
2
+ /**
3
+ * 生成 SAML Attribute 元素(不带 XML 声明头)
4
+ * @param {Array} attributeData - 属性配置数据
5
+ * @returns {string} SAML Attribute XML 字符串
6
+ */
7
+ export interface SignatureConstructor {
8
+ rawSamlMessage: string;
9
+ referenceTagXPath?: string;
10
+ privateKey: string;
11
+ privateKeyPass?: string;
12
+ signatureAlgorithm: string;
13
+ signingCert: string | Buffer;
14
+ isBase64Output?: boolean;
15
+ signatureConfig?: any;
16
+ isMessageSigned?: boolean;
17
+ transformationAlgorithms?: string[];
18
+ }
19
+ export interface SignatureVerifierOptions {
20
+ metadata?: MetadataInterface;
21
+ keyFile?: string;
22
+ signatureAlgorithm?: string;
23
+ }
24
+ export interface ExtractorResult {
25
+ [key: string]: any;
26
+ signature?: string | string[];
27
+ issuer?: string | string[];
28
+ nameID?: string;
29
+ notexist?: boolean;
30
+ }
31
+ export interface LoginResponseAttribute {
32
+ name: string;
33
+ nameFormat: string;
34
+ valueXsiType: string;
35
+ valueTag: string;
36
+ valueXmlnsXs?: string;
37
+ valueXmlnsXsi?: string;
38
+ type?: string | string[];
39
+ }
40
+ export interface LoginResponseAdditionalTemplates {
41
+ attributeStatementTemplate?: AttributeStatementTemplate;
42
+ attributeTemplate?: AttributeTemplate;
43
+ }
44
+ export interface BaseSamlTemplate {
45
+ context: string;
46
+ }
47
+ export interface LoginResponseTemplate extends BaseSamlTemplate {
48
+ attributes?: LoginResponseAttribute[];
49
+ additionalTemplates?: LoginResponseAdditionalTemplates;
50
+ }
51
+ export interface AttributeStatementTemplate extends BaseSamlTemplate {
52
+ }
53
+ export interface AttributeTemplate extends BaseSamlTemplate {
54
+ }
55
+ export interface LoginRequestTemplate extends BaseSamlTemplate {
56
+ }
57
+ export interface LogoutRequestTemplate extends BaseSamlTemplate {
58
+ }
59
+ export interface LogoutResponseTemplate extends BaseSamlTemplate {
60
+ }
61
+ export type KeyUse = 'signing' | 'encryption';
62
+ export interface KeyComponent {
63
+ [key: string]: any;
64
+ }
65
+ export interface LibSamlInterface {
66
+ getQueryParamByType: (type: string) => string;
67
+ createXPath: (local: any, isExtractAll?: boolean) => string;
68
+ replaceTagsByValue: (rawXML: string, tagValues: any) => string;
69
+ attributeStatementBuilder: (attributes: LoginResponseAttribute[], attributeTemplate: AttributeTemplate, attributeStatementTemplate: AttributeStatementTemplate) => string;
70
+ constructSAMLSignature: (opts: SignatureConstructor) => string;
71
+ verifySignature: (xml: string, opts: SignatureVerifierOptions) => [boolean, any];
72
+ createKeySection: (use: KeyUse, cert: string | Buffer) => {};
73
+ constructMessageSignature: (octetString: string, key: string, passphrase?: string, isBase64?: boolean, signingAlgorithm?: string) => string;
74
+ verifyMessageSignature: (metadata: any, octetString: string, signature: string | Buffer, verifyAlgorithm?: string) => boolean;
75
+ getKeyInfo: (x509Certificate: string, signatureConfig?: any) => void;
76
+ encryptAssertion: (sourceEntity: any, targetEntity: any, entireXML: string) => Promise<string>;
77
+ decryptAssertion: (here: any, entireXML: string) => Promise<[string, any]>;
78
+ getSigningScheme: (sigAlg: string) => string | null;
79
+ getDigestMethod: (sigAlg: string) => string | null;
80
+ nrsaAliasMapping: any;
81
+ defaultLoginRequestTemplate: LoginRequestTemplate;
82
+ defaultLoginResponseTemplate: LoginResponseTemplate;
83
+ defaultAttributeStatementTemplate: AttributeStatementTemplate;
84
+ defaultAttributeTemplate: AttributeTemplate;
85
+ defaultLogoutRequestTemplate: LogoutRequestTemplate;
86
+ defaultLogoutResponseTemplate: LogoutResponseTemplate;
87
+ }
88
+ declare const _default: {
89
+ createXPath: (local: any, isExtractAll?: boolean) => string;
90
+ getQueryParamByType: (type: string) => "SAMLRequest" | "SAMLResponse";
91
+ defaultLoginRequestTemplate: {
92
+ context: string;
93
+ };
94
+ defaultLoginResponseTemplate: {
95
+ context: string;
96
+ attributes: never[];
97
+ additionalTemplates: {
98
+ attributeStatementTemplate: {
99
+ context: string;
100
+ };
101
+ attributeTemplate: {
102
+ context: string;
103
+ };
104
+ };
105
+ };
106
+ defaultAttributeStatementTemplate: {
107
+ context: string;
108
+ };
109
+ defaultAttributeTemplate: {
110
+ context: string;
111
+ };
112
+ defaultLogoutRequestTemplate: {
113
+ context: string;
114
+ };
115
+ defaultLogoutResponseTemplate: {
116
+ context: string;
117
+ };
118
+ defaultAttributeValueTemplate: {
119
+ context: string;
120
+ };
121
+ /**
122
+ * @desc Replace the tag (e.g. {tag}) inside the raw XML
123
+ * @param {string} rawXML raw XML string used to do keyword replacement
124
+ * @param {array} tagValues tag values
125
+ * @return {string}
126
+ */
127
+ replaceTagsByValue(rawXML: string, tagValues: Record<string, unknown>): string;
128
+ /**
129
+ * @desc Helper function to build the AttributeStatement tag
130
+ * @param {LoginResponseAttribute} attributes an array of attribute configuration
131
+ * @param {AttributeTemplate} attributeTemplate the attribute tag template to be used
132
+ * @param {AttributeStatementTemplate} attributeStatementTemplate the attributeStatement tag template to be used
133
+ * @return {string}
134
+ */
135
+ /** For Test */
136
+ attributeStatementBuilder(attributeData: any[]): string;
137
+ /**
138
+ * @desc Construct the XML signature for POST binding
139
+ * @param {string} rawSamlMessage request/response xml string
140
+ * @param {string} referenceTagXPath reference uri
141
+ * @param {string} privateKey declares the private key
142
+ * @param {string} passphrase passphrase of the private key [optional]
143
+ * @param {string|buffer} signingCert signing certificate
144
+ * @param {string} signatureAlgorithm signature algorithm
145
+ * @param {string[]} transformationAlgorithms canonicalization and transformation Algorithms
146
+ * @return {string} base64 encoded string
147
+ */
148
+ constructSAMLSignature(opts: SignatureConstructor): string;
149
+ /**
150
+ * @desc Verify the XML signature
151
+ * @param {string} xml xml
152
+ * @param {SignatureVerifierOptions} opts cert declares the X509 certificate
153
+ * @return {[boolean, string | null]} - A tuple where:
154
+ * - The first element is `true` if the signature is valid, `false` otherwise.
155
+ * - The second element is the cryptographically authenticated assertion node as a string, or `null` if not found.
156
+ */
157
+ verifySignature(xml: string, opts: SignatureVerifierOptions): (string | boolean)[] | (boolean | null)[];
158
+ /**
159
+ * @desc Helper function to create the key section in metadata (abstraction for signing and encrypt use)
160
+ * @param {string} use type of certificate (e.g. signing, encrypt)
161
+ * @param {string} certString declares the certificate String
162
+ * @return {object} object used in xml module
163
+ */
164
+ createKeySection(use: KeyUse, certString: string | Buffer): KeyComponent;
165
+ /**
166
+ * SAML 消息签名 (符合 SAML V2.0 绑定规范)
167
+ * @param octetString - 要签名的原始数据 (OCTET STRING)
168
+ * @param key - PEM 格式私钥
169
+ * @param passphrase - 私钥密码 (如果有加密)
170
+ * @param isBase64 - 是否返回 base64 编码 (默认 true)
171
+ * @param signingAlgorithm - 签名算法 (默认 'rsa-sha256')
172
+ * @returns 消息签名
173
+ */
174
+ constructMessageSignature(octetString: string | Buffer, key: string | Buffer, passphrase?: string, isBase64?: boolean, signingAlgorithm?: string): string | Buffer;
175
+ verifyMessageSignature(metadata: any, octetString: string, signature: string | Buffer, verifyAlgorithm?: string): boolean;
176
+ /**
177
+ * @desc Get the public key in string format
178
+ * @param {string} x509Certificate certificate
179
+ * @return {string} public key
180
+ */
181
+ getKeyInfo(x509Certificate: string, signatureConfig?: any): {
182
+ getKeyInfo: () => string;
183
+ getKey: () => string;
184
+ };
185
+ /**
186
+ * @desc Encrypt the assertion section in Response
187
+ * @param {Entity} sourceEntity source entity
188
+ * @param {Entity} targetEntity target entity
189
+ * @param {string} xml response in xml string format
190
+ * @return {Promise} a promise to resolve the finalized xml
191
+ */
192
+ encryptAssertion(sourceEntity: any, targetEntity: any, xml?: string): Promise<string>;
193
+ /**
194
+ * @desc Decrypt the assertion section in Response
195
+ * @param {string} type only accept SAMLResponse to proceed decryption
196
+ * @param {Entity} here this entity
197
+ * @param {Entity} from from the entity where the message is sent
198
+ * @param {string} entireXML response in xml string format
199
+ * @return {function} a promise to get back the entire xml with decrypted assertion
200
+ */
201
+ decryptAssertion(here: any, entireXML: string): Promise<[string, any]>;
202
+ /**
203
+ * @desc Check if the xml string is valid and bounded
204
+ */
205
+ isValidXml(input: string): Promise<any>;
206
+ };
207
+ export default _default;
208
+ //# sourceMappingURL=libsaml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libsaml.d.ts","sourceRoot":"","sources":["../src/libsaml.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @file metadata-idp.ts
3
+ * @author tngan
4
+ * @desc Metadata of identity provider
5
+ */
6
+ import Metadata, { type MetadataInterface } from './metadata.js';
7
+ import type { MetadataIdpConstructor } from './types.js';
8
+ export interface IdpMetadataInterface extends MetadataInterface {
9
+ }
10
+ export default function (meta: MetadataIdpConstructor): IdpMetadata;
11
+ export declare class IdpMetadata extends Metadata {
12
+ constructor(meta: MetadataIdpConstructor);
13
+ /**
14
+ * @desc Get the preference whether it wants a signed request
15
+ * @return {boolean} WantAuthnRequestsSigned
16
+ */
17
+ isWantAuthnRequestsSigned(): boolean;
18
+ /**
19
+ * @desc Get the entity endpoint for single sign on service
20
+ * @param {string} binding protocol binding (e.g. redirect, post)
21
+ * @return {string/object} location
22
+ */
23
+ getSingleSignOnService(binding: string): string | object;
24
+ }
25
+ //# sourceMappingURL=metadata-idp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata-idp.d.ts","sourceRoot":"","sources":["../src/metadata-idp.ts"],"names":[],"mappings":"AAAA;;;;EAIE;AACF,OAAO,QAAQ,EAAE,EAAE,KAAM,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClE,OAAQ,KAAK,EAAsB,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAM9E,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;CAE9D;AAKD,MAAM,CAAC,OAAO,WAAU,IAAI,EAAE,sBAAsB,eAEnD;AAED,qBAAa,WAAY,SAAQ,QAAQ;gBAE3B,IAAI,EAAE,sBAAsB;IA6FxC;;;MAGE;IACF,yBAAyB,IAAI,OAAO;IAQpC;;;;MAIE;IACF,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;CAUzD"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @file metadata-sp.ts
3
+ * @author tngan
4
+ * @desc Metadata of service provider
5
+ */
6
+ import Metadata, { type MetadataInterface } from './metadata.js';
7
+ import type { MetadataSpConstructor } from './types.js';
8
+ export interface SpMetadataInterface extends MetadataInterface {
9
+ }
10
+ export default function (meta: MetadataSpConstructor): SpMetadata;
11
+ /**
12
+ * @desc SP Metadata is for creating Service Provider, provides a set of API to manage the actions in SP.
13
+ */
14
+ export declare class SpMetadata extends Metadata {
15
+ /**
16
+ * @param {object/string} meta (either xml string or configuration in object)
17
+ * @return {object} prototypes including public functions
18
+ */
19
+ constructor(meta: MetadataSpConstructor);
20
+ /**
21
+ * @desc Get the preference whether it wants a signed assertion response
22
+ * @return {boolean} Wantassertionssigned
23
+ */
24
+ isWantAssertionsSigned(): boolean;
25
+ /**
26
+ * @desc Get the preference whether it signs request
27
+ * @return {boolean} Authnrequestssigned
28
+ */
29
+ isAuthnRequestSigned(): boolean;
30
+ /**
31
+ * @desc Get the entity endpoint for assertion consumer service
32
+ * @param {string} binding protocol binding (e.g. redirect, post)
33
+ * @return {string/[string]} URL of endpoint(s)
34
+ */
35
+ getAssertionConsumerService(binding: string): string | string[];
36
+ }
37
+ //# sourceMappingURL=metadata-sp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata-sp.d.ts","sourceRoot":"","sources":["../src/metadata-sp.ts"],"names":[],"mappings":"AAAA;;;;EAIE;AACF,OAAO,QAAQ,EAAE,EAAC,KAAK,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAMxD,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;CAE7D;AAcD,MAAM,CAAC,OAAO,WAAU,IAAI,EAAE,qBAAqB,cAElD;AAED;;EAEE;AACF,qBAAa,UAAW,SAAQ,QAAQ;IAEtC;;;MAGE;gBACU,IAAI,EAAE,qBAAqB;IA2LvC;;;MAGE;IACK,sBAAsB,IAAI,OAAO;IAGxC;;;MAGE;IACK,oBAAoB,IAAI,OAAO;IAGtC;;;;MAIE;IACK,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE;CAoBvE"}
@@ -0,0 +1,58 @@
1
+ export interface MetadataInterface {
2
+ xmlString: string;
3
+ getMetadata: () => string;
4
+ exportMetadata: (exportFile: string) => void;
5
+ getEntityID: () => string;
6
+ getX509Certificate: (certType: string) => string | string[];
7
+ getNameIDFormat: () => any[];
8
+ getSingleLogoutService: (binding: string | undefined) => string | object;
9
+ getSupportBindings: (services: string[]) => string[];
10
+ }
11
+ export default class Metadata implements MetadataInterface {
12
+ xmlString: string;
13
+ meta: any;
14
+ /**
15
+ * @param {string | Buffer} xml
16
+ * @param {object} extraParse for custom metadata extractor
17
+ */
18
+ constructor(xml: string | Buffer, extraParse?: any);
19
+ /**
20
+ * @desc Get the metadata in xml format
21
+ * @return {string} metadata in xml format
22
+ */
23
+ getMetadata(): string;
24
+ /**
25
+ * @desc Export the metadata to specific file
26
+ * @param {string} exportFile is the output file path
27
+ */
28
+ exportMetadata(exportFile: string): void;
29
+ /**
30
+ * @desc Get the entityID in metadata
31
+ * @return {string} entityID
32
+ */
33
+ getEntityID(): string;
34
+ /**
35
+ * @desc Get the x509 certificate declared in entity metadata
36
+ * @param {string} use declares the type of certificate
37
+ * @return {string} certificate in string format
38
+ */
39
+ getX509Certificate(use: string): any;
40
+ /**
41
+ * @desc Get the support NameID format declared in entity metadata
42
+ * @return {array} support NameID format
43
+ */
44
+ getNameIDFormat(): any;
45
+ /**
46
+ * @desc Get the entity endpoint for single logout service
47
+ * @param {string} binding e.g. redirect, post
48
+ * @return {string/object} location
49
+ */
50
+ getSingleLogoutService(binding: string | undefined): string | object;
51
+ /**
52
+ * @desc Get the support bindings
53
+ * @param {[string]} services
54
+ * @return {[string]} support bindings
55
+ */
56
+ getSupportBindings(services: string[]): string[];
57
+ }
58
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,MAAM,CAAC;IAC1B,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,WAAW,EAAE,MAAM,MAAM,CAAC;IAC1B,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5D,eAAe,EAAE,MAAM,GAAG,EAAE,CAAC;IAC7B,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,MAAM,CAAC;IACzE,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;CACtD;AAED,MAAM,CAAC,OAAO,OAAO,QAAS,YAAW,iBAAiB;IAExD,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC;IAEV;;;MAGE;gBACU,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,GAAE,GAAQ;IA2DtD;;;MAGE;IACK,WAAW,IAAI,MAAM;IAI5B;;;MAGE;IACK,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI/C;;;MAGE;IACK,WAAW,IAAI,MAAM;IAI5B;;;;MAIE;IACK,kBAAkB,CAAC,GAAG,EAAE,MAAM;IAIrC;;;MAGE;IACK,eAAe,IAAI,GAAG;IAI7B;;;;MAIE;IACK,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM;IAe3E;;;;MAIE;IACK,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;CAUxD"}
@@ -1,15 +1,15 @@
1
1
  import { DOMParser as dom } from '@xmldom/xmldom';
2
- import type { Options as DOMParserOptions } from '@xmldom/xmldom';
3
2
  interface Context extends ValidatorContext, DOMParserContext {
4
3
  }
4
+ type ValidateFunction = (xml: string, isSoap?: boolean) => Promise<any>;
5
5
  interface ValidatorContext {
6
- validate?: (xml: string) => Promise<any>;
6
+ validate: ValidateFunction;
7
7
  }
8
8
  interface DOMParserContext {
9
9
  dom: dom;
10
10
  }
11
11
  export declare function getContext(): Context;
12
12
  export declare function setSchemaValidator(params: ValidatorContext): void;
13
- export declare function setDOMParserOptions(options?: DOMParserOptions): void;
13
+ export declare function setDOMParserOptions(options?: {}): void;
14
14
  export {};
15
15
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
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;AAIlE,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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAKlD,UAAU,OAAQ,SAAQ,gBAAgB,EAAE,gBAAgB;CAAG;AAG/D,KAAK,gBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAGxE,UAAU,gBAAgB;IACxB,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;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,KAAK,GAAE,IAAI,CAErD"}
@@ -1,16 +1,12 @@
1
- /**
2
- * @file binding-post.ts
3
- * @author tngan
4
- * @desc Binding-level API, declare the functions using POST binding
5
- */
6
1
  import type { BindingContext } from './entity.js';
2
+ import { IdentityProviderConstructor as IdentityProvider, ServiceProviderConstructor as ServiceProvider } from "./types.js";
7
3
  /**
8
4
  * @desc Generate a base64 encoded login request
9
5
  * @param {string} referenceTagXPath reference uri
10
6
  * @param {object} entity object includes both idp and sp
11
- * @param {function} customTagReplacement used when developers have their own login response template
7
+ * @param customTagReplacement
12
8
  */
13
- declare function base64LoginRequest(referenceTagXPath: string, entity: any, customTagReplacement?: (template: string) => BindingContext): BindingContext;
9
+ declare function soapLoginRequest(referenceTagXPath: string, entity: any, customTagReplacement?: (template: string) => BindingContext): any;
14
10
  /**
15
11
  * @desc Generate a base64 encoded login response
16
12
  * @param {object} requestInfo corresponding request, used to obtain the id
@@ -20,29 +16,28 @@ declare function base64LoginRequest(referenceTagXPath: string, entity: any, cust
20
16
  * @param {boolean} encryptThenSign whether or not to encrypt then sign first (if signing). Defaults to sign-then-encrypt
21
17
  * @param AttributeStatement
22
18
  */
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;
19
+ declare function soapLoginResponse(requestInfo: any | undefined, entity: any, user?: any, customTagReplacement?: (template: string) => BindingContext, encryptThenSign?: boolean, AttributeStatement?: never[]): Promise<BindingContext>;
20
+ declare function parseLoginRequestResolve(params: {
21
+ idp: IdentityProvider;
22
+ sp: ServiceProvider;
23
+ xml: string;
24
+ }): Promise<{
25
+ samlContent: string | boolean | null;
26
+ extract: any;
27
+ }>;
28
+ declare function parseLoginResponseResolve(params: {
29
+ idp: IdentityProvider;
30
+ sp: ServiceProvider;
31
+ art: string;
32
+ }): Promise<{
33
+ samlContent: string;
34
+ extract: any;
35
+ }>;
41
36
  declare const artifactSignBinding: {
42
- base64LoginRequest: typeof base64LoginRequest;
43
- base64LoginResponse: typeof base64LoginResponse;
44
- base64LogoutRequest: typeof base64LogoutRequest;
45
- base64LogoutResponse: typeof base64LogoutResponse;
37
+ parseLoginRequestResolve: typeof parseLoginRequestResolve;
38
+ soapLoginRequest: typeof soapLoginRequest;
39
+ parseLoginResponseResolve: typeof parseLoginResponseResolve;
40
+ soapLoginResponse: typeof soapLoginResponse;
46
41
  };
47
42
  export default artifactSignBinding;
48
43
  //# sourceMappingURL=binding-artifact.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"binding-artifact.d.ts","sourceRoot":"","sources":["../../src/binding-artifact.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAMlD;;;;;GAKG;AACH,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,CAmIrO;AACD;;;;;;;GAOG;AACH,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;;;;;;GAMG;AACH,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,mBAAmB;;;;;CAKxB,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"binding-artifact.d.ts","sourceRoot":"","sources":["../../src/binding-artifact.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAMhD,OAAO,EACH,2BAA2B,IAAI,gBAAgB,EAC/C,0BAA0B,IAAI,eAAe,EAChD,MAAM,YAAY,CAAC;AAwCpB;;;;;GAKG;AACH,iBAAS,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAAG,GAAG,CA+FlI;AAED;;;;;;;;GAQG;AACH,iBAAe,iBAAiB,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,EAAE,kBAAkB,UAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAqIpO;AAED,iBAAe,wBAAwB,CAAC,MAAM,EAAE;IAC5C,GAAG,EAAE,gBAAgB,CAAC;IACtB,EAAE,EAAE,eAAe,CAAC;IACpB,GAAG,EAAE,MAAM,CAAA;CACd;;;GAqDA;AAED,iBAAe,yBAAyB,CAAC,MAAM,EAAE;IAAE,GAAG,EAAE,gBAAgB,CAAC;IAAC,EAAE,EAAE,eAAe,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE;;;GA0P3G;AAED,QAAA,MAAM,mBAAmB;;;;;CAOxB,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -1,15 +1,15 @@
1
1
  /**
2
- * @file binding-post.ts
3
- * @author tngan
4
- * @desc Binding-level API, declare the functions using POST binding
5
- */
2
+ * @file binding-post.ts
3
+ * @author tngan
4
+ * @desc Binding-level API, declare the functions using POST binding
5
+ */
6
6
  import type { BindingContext } from './entity.js';
7
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
- */
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
13
  declare function base64LoginRequest(referenceTagXPath: string, entity: any, customTagReplacement?: (template: string) => BindingContext): BindingContext;
14
14
  /**
15
15
  * @desc Generate a base64 encoded login response
@@ -22,21 +22,21 @@ declare function base64LoginRequest(referenceTagXPath: string, entity: any, cust
22
22
  */
23
23
  declare function base64LoginResponse(requestInfo: any | undefined, entity: any, user?: any, customTagReplacement?: (template: string) => BindingContext, encryptThenSign?: boolean, AttributeStatement?: never[]): Promise<BindingContext>;
24
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
- */
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
32
  declare function base64LogoutRequest(user: Record<string, unknown>, referenceTagXPath: string, entity: any, customTagReplacement?: (template: string) => BindingContext): BindingContext;
33
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
- */
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
40
  declare function base64LogoutResponse(requestInfo: any, entity: any, customTagReplacement: (template: string) => BindingContext): BindingContext;
41
41
  declare const postBinding: {
42
42
  base64LoginRequest: typeof base64LoginRequest;
@@ -1 +1 @@
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,CAmIrO;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
+ {"version":3,"file":"binding-post.d.ts","sourceRoot":"","sources":["../../src/binding-post.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAYhD;;;;;GAKG;AACH,iBAAS,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAAG,cAAc,CA4D/I;AAID;;;;;;;;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,EAAE,kBAAkB,UAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAkJtO;AAED;;;;;;;GAOG;AACH,iBAAS,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,KAAA,EAAE,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAAG,cAAc,CAwD1K;AAED;;;;;;GAMG;AACH,iBAAS,oBAAoB,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAAG,cAAc,CA2DvI;AAED,QAAA,MAAM,WAAW;;;;;CAKhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1 +1 @@
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;IAChC,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;CACvB;AAiED;;;;;GAKG;AAEH,iBAAS,uBAAuB,CAAC,MAAM,EAAE;IACrC,GAAG,EAAE,GAAG,CAAC;IACT,EAAE,EAAE,EAAE,CAAC;IACP,IAAI,CAAC,EAAE,OAAO,CAAA;CACjB,EAAE,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAAG,GAAG,CA0CnE;AACD;;;;;GAKG;AAEH,iBAAS,0BAA0B,CAAC,MAAM,EAAE;IACxC,GAAG,EAAE,GAAG,CAAC;IACT,EAAE,EAAE,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC9B,EAAE,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAAG,GAAG,CAgGnE;AAID;;;;;;;;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,EAAE,kBAAkB,UAAK,GAAG,cAAc,CAoG1M;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;;;;;;CAMpB,CAAC;AAEF,eAAe,eAAe,CAAC"}
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;IAChC,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;CACvB;AAiED;;;;;GAKG;AAEH,iBAAS,uBAAuB,CAAC,MAAM,EAAE;IACrC,GAAG,EAAE,GAAG,CAAC;IACT,EAAE,EAAE,EAAE,CAAC;IACP,IAAI,CAAC,EAAE,OAAO,CAAA;CACjB,EAAE,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAAG,GAAG,CA0CnE;AACD;;;;;GAKG;AAEH,iBAAS,0BAA0B,CAAC,MAAM,EAAE;IACxC,GAAG,EAAE,GAAG,CAAC;IACT,EAAE,EAAE,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC9B,EAAE,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAAG,GAAG,CAyFnE;AAID;;;;;;;;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,EAAE,kBAAkB,UAAK,GAAG,cAAc,CAmG1M;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;;;;;;CAMpB,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1 +1 @@
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"}
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,CA+FtO;AAED,QAAA,MAAM,iBAAiB;;;CAGpB,CAAC;AAEJ,eAAe,iBAAiB,CAAC"}
@@ -18,14 +18,13 @@ export declare class IdentityProvider extends Entity {
18
18
  */
19
19
  createLoginResponse(params: {
20
20
  sp: ServiceProvider;
21
- requestInfo: Record<string, any>;
21
+ requestInfo?: Record<string, any>;
22
22
  binding?: string;
23
- user: Record<string, any>;
23
+ user?: Record<string, any>;
24
24
  customTagReplacement?: (template: string) => BindingContext;
25
25
  encryptThenSign?: boolean;
26
26
  relayState?: string;
27
- context: Record<string, any>;
28
- AttributeStatement: [];
27
+ AttributeStatement?: [];
29
28
  }): Promise<any>;
30
29
  /**
31
30
  * Validation of the parsed URL parameters
@@ -1 +1 @@
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;IAWhD;;;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"}
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,MAAM,WAAW,CAAC;AAElD,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;IAWhD;;;OAGG;IACU,mBAAmB,CAAC,MAAM,EAAC;QACtC,EAAE,EAAE,eAAe,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3B,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAC;QAC5D,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,kBAAkB,CAAC,EAAC,EAAE,CAAA;KACvB;IAsCD;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB;CAY9E"}
@@ -27,13 +27,11 @@ export declare class ServiceProvider extends Entity {
27
27
  * @param {function} customTagReplacement used when developers have their own login response template
28
28
  */
29
29
  createLoginRequest(idp: IdentityProvider, binding?: string, customTagReplacement?: (template: string) => BindingContext): BindingContext | PostBindingContext | SimpleSignBindingContext;
30
- /**
31
- * @desc Generates the Art login request for developers to design their own method
32
- * @param {IdentityProvider} idp object of identity provider
33
- * @param {string} binding protocol binding
34
- * @param {function} customTagReplacement used when developers have their own login response template
35
- */
36
- createLoginRequestArt(idp: IdentityProvider, binding?: string, customTagReplacement?: (template: string) => BindingContext): BindingContext | PostBindingContext | SimpleSignBindingContext;
30
+ createLoginSoapRequest(idp: IdentityProvider, binding: string | undefined, config: {
31
+ customTagReplacement?: (template: string) => BindingContext;
32
+ inResponseTo?: string;
33
+ relayState?: string;
34
+ }): Promise<any>;
37
35
  /**
38
36
  * @desc Validation of the parsed the URL parameters
39
37
  * @param {IdentityProvider} idp object of identity provider
@@ -47,22 +45,13 @@ export declare class ServiceProvider extends Entity {
47
45
  * @param {string} binding protocol binding
48
46
  * @param {request} req request
49
47
  */
50
- parseLoginResponseArt(idp: any, binding: any, request: ESamlHttpRequest): Promise<FlowResult>;
51
- /**
52
- * @desc generate Art id
53
- *
54
- * @param entityIDString
55
- */
56
- createArt(entityIDString: string, endpointIndex?: number): string;
57
- /**
58
- * @desc generate Art id
59
- * @param artifact
60
- */
61
- parseArt(artifact: string): {
62
- typeCode: number;
63
- endpointIndex: number;
64
- sourceId: string;
65
- messageHandle: string;
66
- };
48
+ parseLoginRequestResolve(idp: any, xml: any): Promise<{
49
+ samlContent: string | boolean | null;
50
+ extract: any;
51
+ }>;
52
+ parseLoginResponseResolve(idp: IdentityProvider, art: string, request: ESamlHttpRequest): Promise<{
53
+ samlContent: string;
54
+ extract: any;
55
+ }>;
67
56
  }
68
57
  //# sourceMappingURL=entity-sp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity-sp.d.ts","sourceRoot":"","sources":["../../src/entity-sp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,MAAU,MAAM,aAAa,CAAC;AAErC,OAAO,KAAK,EACR,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EAC3B,MAAM,aAAa,CAAC;AACrB,OAAO,EACH,2BAA2B,IAAI,gBAAgB,EAC/C,uBAAuB,EACvB,KAAK,uBAAuB,EAC/B,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAO,KAAK,UAAU,EAAC,MAAM,WAAW,CAAC;AAKhD,MAAM,CAAC,OAAO,WAAW,KAAK,EAAE,uBAAuB,mBAEtD;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,MAAM;IAC/B,UAAU,EAAE,uBAAuB,CAAC;IAE5C;;;OAGG;gBACS,SAAS,EAAE,uBAAuB;IAS9C;;;;;OAKG;IACI,kBAAkB,CACrB,GAAG,EAAE,gBAAgB,EACrB,OAAO,SAAa,EACpB,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAC5D,cAAc,GAAG,kBAAkB,GAAG,wBAAwB;IA2CjE;;;;;OAKG;IACI,qBAAqB,CACxB,GAAG,EAAE,gBAAgB,EACrB,OAAO,SAAa,EACpB,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAC5D,cAAc,GAAG,kBAAkB,GAAG,wBAAwB;IAiCjE;;;;;OAKG;IACI,kBAAkB,CAAC,GAAG,KAAA,EAAE,OAAO,KAAA,EAAE,OAAO,EAAE,gBAAgB;IAajE;;;;;OAKG;IACI,qBAAqB,CAAC,GAAG,KAAA,EAAE,OAAO,KAAA,EAAE,OAAO,EAAE,gBAAgB;IAcpE;;;;OAIG;IACI,SAAS,CAAC,cAAc,EAAC,MAAM,EAAC,aAAa,SAAE;IA6BxD;;;OAGG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM;;;;;;CA6BhC"}
1
+ {"version":3,"file":"entity-sp.d.ts","sourceRoot":"","sources":["../../src/entity-sp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,MAAU,MAAM,aAAa,CAAC;AAGrC,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,2BAA2B,IAAI,gBAAgB,EAC/C,uBAAuB,EACvB,KAAK,uBAAuB,EAC7B,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAO,KAAK,UAAU,EAAC,MAAM,WAAW,CAAC;AAKhD,MAAM,CAAC,OAAO,WAAW,KAAK,EAAE,uBAAuB,mBAEtD;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,MAAM;IACjC,UAAU,EAAE,uBAAuB,CAAC;IAE5C;;;OAGG;gBACS,SAAS,EAAE,uBAAuB;IAS9C;;;;;OAKG;IACI,kBAAkB,CACrB,GAAG,EAAE,gBAAgB,EACrB,OAAO,SAAa,EACpB,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,GAC5D,cAAc,GAAG,kBAAkB,GAAG,wBAAwB;IAkCpD,sBAAsB,CAC/B,GAAG,EAAE,gBAAgB,EACrB,OAAO,oBAAa,EACpB,MAAM,EAAC;QACL,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAC;QAC5D,YAAY,CAAC,EAAC,MAAM,CAAC;QACrB,UAAU,CAAC,EAAC,MAAM,CAAC;KACpB,GACH,OAAO,CAAC,GAAG,CAAC;IAsBd;;;;;OAKG;IACI,kBAAkB,CAAC,GAAG,KAAA,EAAE,OAAO,KAAA,EAAE,OAAO,EAAE,gBAAgB;IAcjE;;;;;OAKG;IACI,wBAAwB,CAAC,GAAG,KAAA,EAAC,GAAG,KAAA;;;;IAQhC,yBAAyB,CAAC,GAAG,EAAC,gBAAgB,EAAE,GAAG,EAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB;;;;CAS7F"}