samlesa 2.14.9 → 2.15.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.
Files changed (34) hide show
  1. package/build/src/flow.js +25 -25
  2. package/build/src/schema/saml-schema-assertion-2.0.xsd +2 -3
  3. package/build/src/schemaValidator.js +7 -1
  4. package/package.json +1 -1
  5. package/types/src/flow.d.ts.map +1 -1
  6. package/types/src/schemaValidator.d.ts.map +1 -1
  7. package/build/src/schema/saml-schema-authn-context-2.0.xsd +0 -23
  8. package/build/src/schema/saml-schema-authn-context-auth-telephony-2.0.xsd +0 -81
  9. package/build/src/schema/saml-schema-authn-context-ip-2.0.xsd +0 -65
  10. package/build/src/schema/saml-schema-authn-context-ippword-2.0.xsd +0 -67
  11. package/build/src/schema/saml-schema-authn-context-kerberos-2.0.xsd +0 -83
  12. package/build/src/schema/saml-schema-authn-context-mobileonefactor-reg-2.0.xsd +0 -186
  13. package/build/src/schema/saml-schema-authn-context-mobileonefactor-unreg-2.0.xsd +0 -183
  14. package/build/src/schema/saml-schema-authn-context-mobiletwofactor-reg-2.0.xsd +0 -202
  15. package/build/src/schema/saml-schema-authn-context-mobiletwofactor-unreg-2.0.xsd +0 -200
  16. package/build/src/schema/saml-schema-authn-context-nomad-telephony-2.0.xsd +0 -81
  17. package/build/src/schema/saml-schema-authn-context-personal-telephony-2.0.xsd +0 -80
  18. package/build/src/schema/saml-schema-authn-context-pgp-2.0.xsd +0 -83
  19. package/build/src/schema/saml-schema-authn-context-ppt-2.0.xsd +0 -81
  20. package/build/src/schema/saml-schema-authn-context-pword-2.0.xsd +0 -64
  21. package/build/src/schema/saml-schema-authn-context-session-2.0.xsd +0 -64
  22. package/build/src/schema/saml-schema-authn-context-smartcard-2.0.xsd +0 -64
  23. package/build/src/schema/saml-schema-authn-context-smartcardpki-2.0.xsd +0 -129
  24. package/build/src/schema/saml-schema-authn-context-softwarepki-2.0.xsd +0 -129
  25. package/build/src/schema/saml-schema-authn-context-spki-2.0.xsd +0 -83
  26. package/build/src/schema/saml-schema-authn-context-srp-2.0.xsd +0 -82
  27. package/build/src/schema/saml-schema-authn-context-sslcert-2.0.xsd +0 -97
  28. package/build/src/schema/saml-schema-authn-context-telephony-2.0.xsd +0 -79
  29. package/build/src/schema/saml-schema-authn-context-timesync-2.0.xsd +0 -105
  30. package/build/src/schema/saml-schema-authn-context-types-2.0.xsd +0 -821
  31. package/build/src/schema/saml-schema-authn-context-x509-2.0.xsd +0 -83
  32. package/build/src/schema/saml-schema-authn-context-xmldsig-2.0.xsd +0 -83
  33. package/build/src/schema/saml-schema-x500-2.0.xsd +0 -20
  34. package/build/src/schema/saml-schema-xacml-2.0.xsd +0 -19
package/build/src/flow.js CHANGED
@@ -111,12 +111,14 @@ async function redirectFlow(options) {
111
111
  && !verifyTime(extractedProperties.conditions.notBefore, extractedProperties.conditions.notOnOrAfter, self.entitySetting.clockDrifts)) {
112
112
  return Promise.reject('ERR_SUBJECT_UNCONFIRMED');
113
113
  }
114
- let destination = extractedProperties?.response?.destination;
115
- let isExit = self.entitySetting?.assertionConsumerService?.filter((item) => {
116
- return item?.Location === destination;
117
- });
118
- if (isExit?.length === 0) {
119
- return Promise.reject('ERR_Destination_URL');
114
+ if (parserType === 'SAMLResponse') {
115
+ let destination = extractedProperties?.response?.destination;
116
+ let isExit = self.entitySetting?.assertionConsumerService?.filter((item) => {
117
+ return item?.Location === destination;
118
+ });
119
+ if (isExit?.length === 0) {
120
+ return Promise.reject('ERR_Destination_URL');
121
+ }
120
122
  }
121
123
  return Promise.resolve(parseResult);
122
124
  }
@@ -136,15 +138,11 @@ async function postFlow(options) {
136
138
  let extractorFields = [];
137
139
  // validate the xml first
138
140
  let res = await libsaml.isValidXml(samlContent);
139
- console.log(res);
140
- console.log("验证结果---------------");
141
141
  if (parserType !== urlParams.samlResponse) {
142
142
  extractorFields = getDefaultExtractorFields(parserType, null);
143
143
  }
144
- console.log(parserType);
145
144
  // check status based on different scenarios
146
145
  await checkStatus(samlContent, parserType);
147
- console.log("========走不到这里来=============");
148
146
  /**检查签名顺序 */
149
147
  /* if (
150
148
  checkSignature &&
@@ -162,10 +160,7 @@ async function postFlow(options) {
162
160
  extractorFields = getDefaultExtractorFields(parserType, verifiedAssertionNode);
163
161
  }
164
162
  }*/
165
- console.log("===============我走的这里=========================");
166
163
  const [verified, verifiedAssertionNode, isDecryptRequired] = libsaml.verifySignature(samlContent, verificationOptions);
167
- console.log(verified);
168
- console.log("verified");
169
164
  decryptRequired = isDecryptRequired;
170
165
  if (!verified) {
171
166
  return Promise.reject('ERR_FAIL_TO_VERIFY_ETS_SIGNATURE');
@@ -183,12 +178,6 @@ async function postFlow(options) {
183
178
  checkSignature &&
184
179
  from.entitySetting.messageSigningOrder === MessageSignatureOrder.STE
185
180
  ) {
186
- console.log("走不到这里来========================================")
187
- console.log("走不到这里来========================================")
188
- console.log("走不到这里来========================================")
189
- console.log("走不到这里来========================================")
190
- console.log("走不到这里来========================================")
191
-
192
181
  const [verified, verifiedAssertionNode,isDecryptRequired] = libsaml.verifySignature(samlContent, verificationOptions);
193
182
  decryptRequired = isDecryptRequired
194
183
  if (verified) {
@@ -238,6 +227,15 @@ async function postFlow(options) {
238
227
  if (isExit?.length === 0) {
239
228
  return Promise.reject('ERR_Destination_URL');
240
229
  }
230
+ if (parserType === 'SAMLResponse') {
231
+ let destination = extractedProperties?.response?.destination;
232
+ let isExit = self.entitySetting?.assertionConsumerService?.filter((item) => {
233
+ return item?.Location === destination;
234
+ });
235
+ if (isExit?.length === 0) {
236
+ return Promise.reject('ERR_Destination_URL');
237
+ }
238
+ }
241
239
  return Promise.resolve(parseResult);
242
240
  }
243
241
  // proceed the post simple sign binding flow
@@ -323,12 +321,14 @@ async function postSimpleSignFlow(options) {
323
321
  && !verifyTime(extractedProperties.conditions.notBefore, extractedProperties.conditions.notOnOrAfter, self.entitySetting.clockDrifts)) {
324
322
  return Promise.reject('ERR_SUBJECT_UNCONFIRMED');
325
323
  }
326
- let destination = extractedProperties?.response?.destination;
327
- let isExit = self.entitySetting?.assertionConsumerService?.filter((item) => {
328
- return item?.Location === destination;
329
- });
330
- if (isExit?.length === 0) {
331
- return Promise.reject('ERR_Destination_URL');
324
+ if (parserType === 'SAMLResponse') {
325
+ let destination = extractedProperties?.response?.destination;
326
+ let isExit = self.entitySetting?.assertionConsumerService?.filter((item) => {
327
+ return item?.Location === destination;
328
+ });
329
+ if (isExit?.length === 0) {
330
+ return Promise.reject('ERR_Destination_URL');
331
+ }
332
332
  }
333
333
  return Promise.resolve(parseResult);
334
334
  }
@@ -1,4 +1,3 @@
1
- <?xml version="1.0" encoding="US-ASCII"?>
2
1
  <schema
3
2
  targetNamespace="urn:oasis:names:tc:SAML:2.0:assertion"
4
3
  xmlns="http://www.w3.org/2001/XMLSchema"
@@ -10,9 +9,9 @@
10
9
  blockDefault="substitution"
11
10
  version="2.0">
12
11
  <import namespace="http://www.w3.org/2000/09/xmldsig#"
13
- schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>
12
+ schemaLocation="xmldsig-core-schema.xsd"/>
14
13
  <import namespace="http://www.w3.org/2001/04/xmlenc#"
15
- schemaLocation="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/xenc-schema.xsd"/>
14
+ schemaLocation="xenc-schema.xsd"/>
16
15
  <annotation>
17
16
  <documentation>
18
17
  Document identifier: saml-schema-assertion-2.0
@@ -1,13 +1,19 @@
1
1
  import { validateXML } from 'xmllint-wasm';
2
2
  import * as fs from 'node:fs';
3
3
  import * as path from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
5
+ const __filename = fileURLToPath(import.meta.url);
6
+ const __dirname = path.dirname(__filename);
4
7
  const schemas = [
5
8
  'saml-schema-protocol-2.0.xsd',
6
9
  'datatypes.dtd',
7
10
  'saml-schema-assertion-2.0.xsd',
8
11
  'xmldsig-core-schema.xsd',
9
12
  'XMLSchema.dtd',
10
- 'xenc-schema.xsd'
13
+ 'xenc-schema.xsd',
14
+ 'saml-schema-metadata-2.0.xsd',
15
+ 'saml-schema-ecp-2.0.xsd',
16
+ 'saml-schema-dce-2.0.xsd'
11
17
  ];
12
18
  export const validate = async (xml) => {
13
19
  const schemaPath = path.resolve(__dirname, 'schema');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "samlesa",
3
- "version": "2.14.9",
3
+ "version": "2.15.1",
4
4
  "description": "High-level API for Single Sign On (SAML 2.0) baseed on samlify ",
5
5
  "main": "build/index.js",
6
6
  "keywords": [
@@ -1 +1 @@
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;AAqdD,wBAAgB,IAAI,CAAC,OAAO,KAAA,GAAG,OAAO,CAAC,UAAU,CAAC,CAyBjD"}
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;AAwdD,wBAAgB,IAAI,CAAC,OAAO,KAAA,GAAG,OAAO,CAAC,UAAU,CAAC,CAyBjD"}
@@ -1 +1 @@
1
- {"version":3,"file":"schemaValidator.d.ts","sourceRoot":"","sources":["../../src/schemaValidator.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,QAAQ,GAAU,KAAK,MAAM,qBAmCzC,CAAC"}
1
+ {"version":3,"file":"schemaValidator.d.ts","sourceRoot":"","sources":["../../src/schemaValidator.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,QAAQ,GAAU,KAAK,MAAM,qBAkCzC,CAAC"}
@@ -1,23 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <xs:schema
3
- targetNamespace="urn:oasis:names:tc:SAML:2.0:ac"
4
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
5
- xmlns="urn:oasis:names:tc:SAML:2.0:ac"
6
- blockDefault="substitution"
7
- version="2.0">
8
-
9
- <xs:annotation>
10
- <xs:documentation>
11
- Document identifier: saml-schema-authn-context-2.0
12
- Location: http://docs.oasis-open.org/security/saml/v2.0/
13
- Revision history:
14
- V2.0 (March, 2005):
15
- New core authentication context schema for SAML V2.0.
16
- This is just an include of all types from the schema
17
- referred to in the include statement below.
18
- </xs:documentation>
19
- </xs:annotation>
20
-
21
- <xs:include schemaLocation="saml-schema-authn-context-types-2.0.xsd"/>
22
-
23
- </xs:schema>
@@ -1,81 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
-
3
- <xs:schema targetNamespace="urn:oasis:names:tc:SAML:2.0:ac:classes:AuthenticatedTelephony"
4
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
5
- xmlns="urn:oasis:names:tc:SAML:2.0:ac:classes:AuthenticatedTelephony"
6
- finalDefault="extension"
7
- blockDefault="substitution"
8
- version="2.0">
9
-
10
- <xs:redefine schemaLocation="saml-schema-authn-context-types-2.0.xsd">
11
-
12
- <xs:annotation>
13
- <xs:documentation>
14
- Class identifier: urn:oasis:names:tc:SAML:2.0:ac:classes:AuthenticatedTelephony
15
- Document identifier: saml-schema-authn-context-auth-telephony-2.0
16
- Location: http://docs.oasis-open.org/security/saml/v2.0/
17
- Revision history:
18
- V2.0 (March, 2005):
19
- New authentication context class schema for SAML V2.0.
20
- </xs:documentation>
21
- </xs:annotation>
22
-
23
- <xs:complexType name="AuthnContextDeclarationBaseType">
24
- <xs:complexContent>
25
- <xs:restriction base="AuthnContextDeclarationBaseType">
26
- <xs:sequence>
27
- <xs:element ref="Identification" minOccurs="0"/>
28
- <xs:element ref="TechnicalProtection" minOccurs="0"/>
29
- <xs:element ref="OperationalProtection" minOccurs="0"/>
30
- <xs:element ref="AuthnMethod"/>
31
- <xs:element ref="GoverningAgreements" minOccurs="0"/>
32
- <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
33
- </xs:sequence>
34
- <xs:attribute name="ID" type="xs:ID" use="optional"/>
35
- </xs:restriction>
36
- </xs:complexContent>
37
- </xs:complexType>
38
-
39
- <xs:complexType name="AuthnMethodBaseType">
40
- <xs:complexContent>
41
- <xs:restriction base="AuthnMethodBaseType">
42
- <xs:sequence>
43
- <xs:element ref="PrincipalAuthenticationMechanism" minOccurs="0"/>
44
- <xs:element ref="Authenticator"/>
45
- <xs:element ref="AuthenticatorTransportProtocol"/>
46
- <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
47
- </xs:sequence>
48
- </xs:restriction>
49
- </xs:complexContent>
50
- </xs:complexType>
51
-
52
- <xs:complexType name="AuthenticatorBaseType">
53
- <xs:complexContent>
54
- <xs:restriction base="AuthenticatorBaseType">
55
- <xs:sequence>
56
- <xs:element ref="Password"/>
57
- <xs:element ref="SubscriberLineNumber"/>
58
- <xs:element ref="UserSuffix"/>
59
- </xs:sequence>
60
- </xs:restriction>
61
- </xs:complexContent>
62
- </xs:complexType>
63
-
64
- <xs:complexType name="AuthenticatorTransportProtocolType">
65
- <xs:complexContent>
66
- <xs:restriction base="AuthenticatorTransportProtocolType">
67
- <xs:sequence>
68
- <xs:choice>
69
- <xs:element ref="PSTN"/>
70
- <xs:element ref="ISDN"/>
71
- <xs:element ref="ADSL"/>
72
- </xs:choice>
73
- <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
74
- </xs:sequence>
75
- </xs:restriction>
76
- </xs:complexContent>
77
- </xs:complexType>
78
-
79
- </xs:redefine>
80
-
81
- </xs:schema>
@@ -1,65 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
-
3
- <xs:schema
4
- targetNamespace="urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocol"
5
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
6
- xmlns="urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocol"
7
- finalDefault="extension"
8
- blockDefault="substitution"
9
- version="2.0">
10
-
11
- <xs:redefine schemaLocation="saml-schema-authn-context-types-2.0.xsd">
12
-
13
- <xs:annotation>
14
- <xs:documentation>
15
- Class identifier: urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocol
16
- Document identifier: saml-schema-authn-context-ip-2.0
17
- Location: http://docs.oasis-open.org/security/saml/v2.0/
18
- Revision history:
19
- V2.0 (March, 2005):
20
- New authentication context class schema for SAML V2.0.
21
- </xs:documentation>
22
- </xs:annotation>
23
-
24
- <xs:complexType name="AuthnContextDeclarationBaseType">
25
- <xs:complexContent>
26
- <xs:restriction base="AuthnContextDeclarationBaseType">
27
- <xs:sequence>
28
- <xs:element ref="Identification" minOccurs="0"/>
29
- <xs:element ref="TechnicalProtection" minOccurs="0"/>
30
- <xs:element ref="OperationalProtection" minOccurs="0"/>
31
- <xs:element ref="AuthnMethod"/>
32
- <xs:element ref="GoverningAgreements" minOccurs="0"/>
33
- <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
34
- </xs:sequence>
35
- <xs:attribute name="ID" type="xs:ID" use="optional"/>
36
- </xs:restriction>
37
- </xs:complexContent>
38
- </xs:complexType>
39
-
40
- <xs:complexType name="AuthnMethodBaseType">
41
- <xs:complexContent>
42
- <xs:restriction base="AuthnMethodBaseType">
43
- <xs:sequence>
44
- <xs:element ref="PrincipalAuthenticationMechanism" minOccurs="0"/>
45
- <xs:element ref="Authenticator"/>
46
- <xs:element ref="AuthenticatorTransportProtocol" minOccurs="0"/>
47
- <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
48
- </xs:sequence>
49
- </xs:restriction>
50
- </xs:complexContent>
51
- </xs:complexType>
52
-
53
- <xs:complexType name="AuthenticatorBaseType">
54
- <xs:complexContent>
55
- <xs:restriction base="AuthenticatorBaseType">
56
- <xs:sequence>
57
- <xs:element ref="IPAddress"/>
58
- </xs:sequence>
59
- </xs:restriction>
60
- </xs:complexContent>
61
- </xs:complexType>
62
-
63
- </xs:redefine>
64
-
65
- </xs:schema>
@@ -1,67 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
-
3
- <xs:schema targetNamespace="urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword"
4
- xmlns:ac="urn:oasis:names:tc:SAML:2.0:ac"
5
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
6
- xmlns="urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword"
7
- finalDefault="extension"
8
- blockDefault="substitution"
9
- version="2.0">
10
-
11
- <xs:redefine schemaLocation="saml-schema-authn-context-types-2.0.xsd">
12
-
13
- <xs:annotation>
14
- <xs:documentation>
15
- Class identifier: urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword
16
- Document identifier: saml-schema-authn-context-ippword-2.0
17
- Location: http://docs.oasis-open.org/security/saml/v2.0/
18
- Revision history:
19
- V2.0 (March, 2005):
20
- New authentication context class schema for SAML V2.0.
21
- </xs:documentation>
22
- </xs:annotation>
23
-
24
- <xs:complexType name="AuthnContextDeclarationBaseType">
25
- <xs:complexContent>
26
- <xs:restriction base="AuthnContextDeclarationBaseType">
27
- <xs:sequence>
28
- <xs:element ref="Identification" minOccurs="0"/>
29
- <xs:element ref="TechnicalProtection" minOccurs="0"/>
30
- <xs:element ref="OperationalProtection" minOccurs="0"/>
31
- <xs:element ref="AuthnMethod"/>
32
- <xs:element ref="GoverningAgreements" minOccurs="0"/>
33
- <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
34
- </xs:sequence>
35
- <xs:attribute name="ID" type="xs:ID" use="optional"/>
36
- </xs:restriction>
37
- </xs:complexContent>
38
- </xs:complexType>
39
-
40
- <xs:complexType name="AuthnMethodBaseType">
41
- <xs:complexContent>
42
- <xs:restriction base="AuthnMethodBaseType">
43
- <xs:sequence>
44
- <xs:element ref="PrincipalAuthenticationMechanism" minOccurs="0"/>
45
- <xs:element ref="Authenticator"/>
46
- <xs:element ref="AuthenticatorTransportProtocol" minOccurs="0"/>
47
- <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
48
- </xs:sequence>
49
- </xs:restriction>
50
- </xs:complexContent>
51
- </xs:complexType>
52
-
53
- <xs:complexType name="AuthenticatorBaseType">
54
- <xs:complexContent>
55
- <xs:restriction base="AuthenticatorBaseType">
56
- <xs:sequence>
57
- <xs:element ref="Password"/>
58
- <xs:element ref="IPAddress"/>
59
- <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
60
- </xs:sequence>
61
- </xs:restriction>
62
- </xs:complexContent>
63
- </xs:complexType>
64
-
65
- </xs:redefine>
66
-
67
- </xs:schema>
@@ -1,83 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
-
3
- <xs:schema targetNamespace="urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos"
4
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
5
- xmlns="urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos"
6
- finalDefault="extension"
7
- blockDefault="substitution"
8
- version="2.0">
9
-
10
- <xs:redefine schemaLocation="saml-schema-authn-context-types-2.0.xsd">
11
-
12
- <xs:annotation>
13
- <xs:documentation>
14
- Class identifier: urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos
15
- Document identifier: saml-schema-authn-context-kerberos-2.0
16
- Location: http://docs.oasis-open.org/security/saml/v2.0/
17
- Revision history:
18
- V2.0 (March, 2005):
19
- New authentication context class schema for SAML V2.0.
20
- </xs:documentation>
21
- </xs:annotation>
22
-
23
- <xs:complexType name="AuthnContextDeclarationBaseType">
24
- <xs:complexContent>
25
- <xs:restriction base="AuthnContextDeclarationBaseType">
26
- <xs:sequence>
27
- <xs:element ref="Identification" minOccurs="0"/>
28
- <xs:element ref="TechnicalProtection" minOccurs="0"/>
29
- <xs:element ref="OperationalProtection" minOccurs="0"/>
30
- <xs:element ref="AuthnMethod"/>
31
- <xs:element ref="GoverningAgreements" minOccurs="0"/>
32
- <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
33
- </xs:sequence>
34
- <xs:attribute name="ID" type="xs:ID" use="optional"/>
35
- </xs:restriction>
36
- </xs:complexContent>
37
- </xs:complexType>
38
-
39
- <xs:complexType name="AuthnMethodBaseType">
40
- <xs:complexContent>
41
- <xs:restriction base="AuthnMethodBaseType">
42
- <xs:sequence>
43
- <xs:element ref="PrincipalAuthenticationMechanism"/>
44
- <xs:element ref="Authenticator"/>
45
- <xs:element ref="AuthenticatorTransportProtocol" minOccurs="0"/>
46
- <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
47
- </xs:sequence>
48
- </xs:restriction>
49
- </xs:complexContent>
50
- </xs:complexType>
51
-
52
- <xs:complexType name="PrincipalAuthenticationMechanismType">
53
- <xs:complexContent>
54
- <xs:restriction base="PrincipalAuthenticationMechanismType">
55
- <xs:sequence>
56
- <xs:element ref="RestrictedPassword"/>
57
- </xs:sequence>
58
- <xs:attribute name="preauth" type="xs:integer" use="optional"/>
59
- </xs:restriction>
60
- </xs:complexContent>
61
- </xs:complexType>
62
-
63
- <xs:complexType name="AuthenticatorBaseType">
64
- <xs:complexContent>
65
- <xs:restriction base="AuthenticatorBaseType">
66
- <xs:sequence>
67
- <xs:element ref="SharedSecretChallengeResponse"/>
68
- </xs:sequence>
69
- </xs:restriction>
70
- </xs:complexContent>
71
- </xs:complexType>
72
-
73
- <xs:complexType name="SharedSecretChallengeResponseType">
74
- <xs:complexContent>
75
- <xs:restriction base="SharedSecretChallengeResponseType">
76
- <xs:attribute name="method" type="xs:anyURI" fixed="urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos"/>
77
- </xs:restriction>
78
- </xs:complexContent>
79
- </xs:complexType>
80
-
81
- </xs:redefine>
82
-
83
- </xs:schema>
@@ -1,186 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
-
3
- <xs:schema targetNamespace="urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorContract"
4
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
5
- xmlns="urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorContract"
6
- finalDefault="extension"
7
- blockDefault="substitution"
8
- version="2.0">
9
-
10
- <xs:redefine schemaLocation="saml-schema-authn-context-types-2.0.xsd">
11
-
12
- <xs:annotation>
13
- <xs:documentation>
14
- Class identifier: urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorContract
15
- Document identifier: saml-schema-authn-context-mobileonefactor-reg-2.0
16
- Location: http://docs.oasis-open.org/security/saml/v2.0/
17
- Revision history:
18
- V2.0 (March, 2005):
19
- New authentication context class schema for SAML V2.0.
20
- </xs:documentation>
21
- </xs:annotation>
22
-
23
- <xs:complexType name="AuthnContextDeclarationBaseType">
24
- <xs:complexContent>
25
- <xs:restriction base="AuthnContextDeclarationBaseType">
26
- <xs:sequence>
27
- <xs:element ref="Identification" minOccurs="0"/>
28
- <xs:element ref="TechnicalProtection" minOccurs="0"/>
29
- <xs:element ref="OperationalProtection" minOccurs="0"/>
30
- <xs:element ref="AuthnMethod"/>
31
- <xs:element ref="GoverningAgreements" minOccurs="0"/>
32
- <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
33
- </xs:sequence>
34
- <xs:attribute name="ID" type="xs:ID" use="optional"/>
35
- </xs:restriction>
36
- </xs:complexContent>
37
- </xs:complexType>
38
-
39
- <xs:complexType name="AuthnMethodBaseType">
40
- <xs:complexContent>
41
- <xs:restriction base="AuthnMethodBaseType">
42
- <xs:sequence>
43
- <xs:element ref="PrincipalAuthenticationMechanism" minOccurs="0"/>
44
- <xs:element ref="Authenticator"/>
45
- <xs:element ref="AuthenticatorTransportProtocol" minOccurs="0"/>
46
- <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
47
- </xs:sequence>
48
- </xs:restriction>
49
- </xs:complexContent>
50
- </xs:complexType>
51
-
52
- <xs:complexType name="AuthenticatorBaseType">
53
- <xs:complexContent>
54
- <xs:restriction base="AuthenticatorBaseType">
55
- <xs:sequence>
56
- <xs:choice>
57
- <xs:element ref="DigSig"/>
58
- <xs:element ref="ZeroKnowledge"/>
59
- <xs:element ref="SharedSecretChallengeResponse"/>
60
- <xs:element ref="SharedSecretDynamicPlaintext"/>
61
- <xs:element ref="AsymmetricDecryption"/>
62
- <xs:element ref="AsymmetricKeyAgreement"/>
63
- </xs:choice>
64
- <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
65
- </xs:sequence>
66
- </xs:restriction>
67
- </xs:complexContent>
68
- </xs:complexType>
69
-
70
- <xs:complexType name="AuthenticatorTransportProtocolType">
71
- <xs:complexContent>
72
- <xs:restriction base="AuthenticatorTransportProtocolType">
73
- <xs:sequence>
74
- <xs:choice>
75
- <xs:element ref="SSL"/>
76
- <xs:element ref="MobileNetworkNoEncryption"/>
77
- <xs:element ref="MobileNetworkRadioEncryption"/>
78
- <xs:element ref="MobileNetworkEndToEndEncryption"/>
79
- <xs:element ref="WTLS"/>
80
- </xs:choice>
81
- <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
82
- </xs:sequence>
83
- </xs:restriction>
84
- </xs:complexContent>
85
- </xs:complexType>
86
-
87
- <xs:complexType name="OperationalProtectionType">
88
- <xs:complexContent>
89
- <xs:restriction base="OperationalProtectionType">
90
- <xs:sequence>
91
- <xs:element ref="SecurityAudit"/>
92
- <xs:element ref="DeactivationCallCenter"/>
93
- <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
94
- </xs:sequence>
95
- </xs:restriction>
96
- </xs:complexContent>
97
- </xs:complexType>
98
-
99
- <xs:complexType name="TechnicalProtectionBaseType">
100
- <xs:complexContent>
101
- <xs:restriction base="TechnicalProtectionBaseType">
102
- <xs:sequence>
103
- <xs:choice>
104
- <xs:element ref="PrivateKeyProtection"/>
105
- <xs:element ref="SecretKeyProtection"/>
106
- </xs:choice>
107
- <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
108
- </xs:sequence>
109
- </xs:restriction>
110
- </xs:complexContent>
111
- </xs:complexType>
112
-
113
- <xs:complexType name="PrivateKeyProtectionType">
114
- <xs:complexContent>
115
- <xs:restriction base="PrivateKeyProtectionType">
116
- <xs:sequence>
117
- <xs:element ref="KeyStorage"/>
118
- <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
119
- </xs:sequence>
120
- </xs:restriction>
121
- </xs:complexContent>
122
- </xs:complexType>
123
-
124
- <xs:complexType name="SecretKeyProtectionType">
125
- <xs:complexContent>
126
- <xs:restriction base="SecretKeyProtectionType">
127
- <xs:sequence>
128
- <xs:element ref="KeyStorage"/>
129
- <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
130
- </xs:sequence>
131
- </xs:restriction>
132
- </xs:complexContent>
133
- </xs:complexType>
134
-
135
- <xs:complexType name="KeyStorageType">
136
- <xs:complexContent>
137
- <xs:restriction base="KeyStorageType">
138
- <xs:attribute name="medium" use="required">
139
- <xs:simpleType>
140
- <xs:restriction base="mediumType">
141
- <xs:enumeration value="smartcard"/>
142
- <xs:enumeration value="MobileDevice"/>
143
- <xs:enumeration value="MobileAuthCard"/>
144
- </xs:restriction>
145
- </xs:simpleType>
146
- </xs:attribute>
147
- </xs:restriction>
148
- </xs:complexContent>
149
- </xs:complexType>
150
-
151
- <xs:complexType name="SecurityAuditType">
152
- <xs:complexContent>
153
- <xs:restriction base="SecurityAuditType">
154
- <xs:sequence>
155
- <xs:element ref="SwitchAudit"/>
156
- <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
157
- </xs:sequence>
158
- </xs:restriction>
159
- </xs:complexContent>
160
- </xs:complexType>
161
-
162
- <xs:complexType name="IdentificationType">
163
- <xs:complexContent>
164
- <xs:restriction base="IdentificationType">
165
- <xs:sequence>
166
- <xs:element ref="PhysicalVerification"/>
167
- <xs:element ref="WrittenConsent"/>
168
- <xs:element ref="GoverningAgreements"/>
169
- <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
170
- </xs:sequence>
171
- <xs:attribute name="nym">
172
- <xs:simpleType>
173
- <xs:restriction base="nymType">
174
- <xs:enumeration value="anonymity"/>
175
- <xs:enumeration value="verinymity"/>
176
- <xs:enumeration value="pseudonymity"/>
177
- </xs:restriction>
178
- </xs:simpleType>
179
- </xs:attribute>
180
- </xs:restriction>
181
- </xs:complexContent>
182
- </xs:complexType>
183
-
184
- </xs:redefine>
185
-
186
- </xs:schema>