ldap-rest 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/abstract/ldapFlat.js +1 -1
  2. package/dist/bin/index.js +1 -1
  3. package/dist/config/args.js +1 -1
  4. package/dist/lib/expressFormatedResponses.js +1 -1
  5. package/dist/plugins/auth/authzDynamic.js +1 -0
  6. package/dist/plugins/auth/authzDynamicHash.js +1 -0
  7. package/dist/plugins/scim/baseResolver.js +1 -0
  8. package/dist/plugins/scim/bulk.js +1 -0
  9. package/dist/plugins/scim/discovery.js +1 -0
  10. package/dist/plugins/scim/errors.js +1 -0
  11. package/dist/plugins/scim/filter.js +1 -0
  12. package/dist/plugins/scim/groups.js +1 -0
  13. package/dist/plugins/scim/mapping.js +1 -0
  14. package/dist/plugins/scim/patch.js +1 -0
  15. package/dist/plugins/scim/scim.js +1 -0
  16. package/dist/plugins/scim/types.js +1 -0
  17. package/dist/plugins/scim/users.js +1 -0
  18. package/dist/plugins/twake/drive.js +1 -1
  19. package/dist/src/abstract/ldapFlat.d.ts +20 -0
  20. package/dist/src/config/args.d.ts +24 -0
  21. package/dist/src/plugins/auth/authzDynamic.d.ts +117 -0
  22. package/dist/src/plugins/auth/authzDynamicHash.d.ts +27 -0
  23. package/dist/src/plugins/scim/baseResolver.d.ts +23 -0
  24. package/dist/src/plugins/scim/bulk.d.ts +43 -0
  25. package/dist/src/plugins/scim/discovery.d.ts +27 -0
  26. package/dist/src/plugins/scim/errors.d.ts +37 -0
  27. package/dist/src/plugins/scim/filter.d.ts +13 -0
  28. package/dist/src/plugins/scim/groups.d.ts +61 -0
  29. package/dist/src/plugins/scim/mapping.d.ts +52 -0
  30. package/dist/src/plugins/scim/patch.d.ts +39 -0
  31. package/dist/src/plugins/scim/scim.d.ts +23 -0
  32. package/dist/src/plugins/scim/types.d.ts +222 -0
  33. package/dist/src/plugins/scim/users.d.ts +58 -0
  34. package/dist/src/plugins/twake/drive.d.ts +7 -0
  35. package/docs/usage/plugins/auth/authz-dynamic.md +183 -0
  36. package/docs/usage/plugins/integrations/drive.md +22 -2
  37. package/docs/usage/plugins/integrations/scim.md +567 -0
  38. package/package.json +65 -1
  39. package/static/schemas/scim/Group.json +31 -0
  40. package/static/schemas/scim/User.json +147 -0
  41. package/static/schemas/scim/default-mapping.json +48 -0
@@ -0,0 +1,31 @@
1
+ {
2
+ "id": "urn:ietf:params:scim:schemas:core:2.0:Group",
3
+ "name": "Group",
4
+ "description": "Group (RFC 7643)",
5
+ "attributes": [
6
+ {
7
+ "name": "displayName",
8
+ "type": "string",
9
+ "multiValued": false,
10
+ "required": true,
11
+ "caseExact": false,
12
+ "mutability": "readWrite",
13
+ "returned": "default",
14
+ "uniqueness": "server"
15
+ },
16
+ {
17
+ "name": "members",
18
+ "type": "complex",
19
+ "multiValued": true,
20
+ "required": false,
21
+ "mutability": "readWrite",
22
+ "returned": "default",
23
+ "subAttributes": [
24
+ { "name": "value", "type": "string" },
25
+ { "name": "$ref", "type": "reference" },
26
+ { "name": "display", "type": "string" },
27
+ { "name": "type", "type": "string" }
28
+ ]
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,147 @@
1
+ {
2
+ "id": "urn:ietf:params:scim:schemas:core:2.0:User",
3
+ "name": "User",
4
+ "description": "User Account (RFC 7643)",
5
+ "attributes": [
6
+ {
7
+ "name": "userName",
8
+ "type": "string",
9
+ "multiValued": false,
10
+ "required": true,
11
+ "caseExact": false,
12
+ "mutability": "readWrite",
13
+ "returned": "default",
14
+ "uniqueness": "server"
15
+ },
16
+ {
17
+ "name": "name",
18
+ "type": "complex",
19
+ "multiValued": false,
20
+ "required": false,
21
+ "mutability": "readWrite",
22
+ "returned": "default",
23
+ "subAttributes": [
24
+ { "name": "formatted", "type": "string" },
25
+ { "name": "familyName", "type": "string" },
26
+ { "name": "givenName", "type": "string" },
27
+ { "name": "middleName", "type": "string" },
28
+ { "name": "honorificPrefix", "type": "string" },
29
+ { "name": "honorificSuffix", "type": "string" }
30
+ ]
31
+ },
32
+ {
33
+ "name": "displayName",
34
+ "type": "string",
35
+ "multiValued": false,
36
+ "required": false,
37
+ "mutability": "readWrite",
38
+ "returned": "default"
39
+ },
40
+ {
41
+ "name": "nickName",
42
+ "type": "string",
43
+ "multiValued": false,
44
+ "required": false,
45
+ "mutability": "readWrite",
46
+ "returned": "default"
47
+ },
48
+ {
49
+ "name": "title",
50
+ "type": "string",
51
+ "multiValued": false,
52
+ "required": false,
53
+ "mutability": "readWrite",
54
+ "returned": "default"
55
+ },
56
+ {
57
+ "name": "userType",
58
+ "type": "string",
59
+ "multiValued": false,
60
+ "required": false,
61
+ "mutability": "readWrite",
62
+ "returned": "default"
63
+ },
64
+ {
65
+ "name": "preferredLanguage",
66
+ "type": "string",
67
+ "multiValued": false,
68
+ "required": false,
69
+ "mutability": "readWrite",
70
+ "returned": "default"
71
+ },
72
+ {
73
+ "name": "locale",
74
+ "type": "string",
75
+ "multiValued": false,
76
+ "required": false,
77
+ "mutability": "readWrite",
78
+ "returned": "default"
79
+ },
80
+ {
81
+ "name": "timezone",
82
+ "type": "string",
83
+ "multiValued": false,
84
+ "required": false,
85
+ "mutability": "readWrite",
86
+ "returned": "default"
87
+ },
88
+ {
89
+ "name": "active",
90
+ "type": "boolean",
91
+ "multiValued": false,
92
+ "required": false,
93
+ "mutability": "readWrite",
94
+ "returned": "default"
95
+ },
96
+ {
97
+ "name": "password",
98
+ "type": "string",
99
+ "multiValued": false,
100
+ "required": false,
101
+ "mutability": "writeOnly",
102
+ "returned": "never"
103
+ },
104
+ {
105
+ "name": "emails",
106
+ "type": "complex",
107
+ "multiValued": true,
108
+ "required": false,
109
+ "mutability": "readWrite",
110
+ "returned": "default",
111
+ "subAttributes": [
112
+ { "name": "value", "type": "string" },
113
+ { "name": "display", "type": "string" },
114
+ { "name": "type", "type": "string" },
115
+ { "name": "primary", "type": "boolean" }
116
+ ]
117
+ },
118
+ {
119
+ "name": "phoneNumbers",
120
+ "type": "complex",
121
+ "multiValued": true,
122
+ "required": false,
123
+ "mutability": "readWrite",
124
+ "returned": "default",
125
+ "subAttributes": [
126
+ { "name": "value", "type": "string" },
127
+ { "name": "display", "type": "string" },
128
+ { "name": "type", "type": "string" },
129
+ { "name": "primary", "type": "boolean" }
130
+ ]
131
+ },
132
+ {
133
+ "name": "groups",
134
+ "type": "complex",
135
+ "multiValued": true,
136
+ "required": false,
137
+ "mutability": "readOnly",
138
+ "returned": "default",
139
+ "subAttributes": [
140
+ { "name": "value", "type": "string" },
141
+ { "name": "$ref", "type": "reference" },
142
+ { "name": "display", "type": "string" },
143
+ { "name": "type", "type": "string" }
144
+ ]
145
+ }
146
+ ]
147
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "_comment": "Default LDAP <-> SCIM mapping for inetOrgPerson (User) and groupOfNames (Group). Override individual entries via --scim-user-mapping / --scim-group-mapping with a file using this shape.",
3
+ "user": {
4
+ "resourceType": "User",
5
+ "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
6
+ "entries": [
7
+ { "scim": "userName", "ldap": "uid" },
8
+ { "scim": "externalId", "ldap": "employeeNumber" },
9
+ {
10
+ "scim": "name",
11
+ "sub": {
12
+ "familyName": "sn",
13
+ "givenName": "givenName",
14
+ "formatted": "cn",
15
+ "middleName": "initials"
16
+ }
17
+ },
18
+ { "scim": "displayName", "ldap": "displayName" },
19
+ { "scim": "title", "ldap": "title" },
20
+ { "scim": "preferredLanguage", "ldap": "preferredLanguage" },
21
+ {
22
+ "scim": "emails",
23
+ "ldapPrimary": "mail",
24
+ "ldapSecondary": "mailAlternateAddress",
25
+ "multi": "array"
26
+ },
27
+ {
28
+ "scim": "phoneNumbers",
29
+ "ldapPrimary": "telephoneNumber",
30
+ "ldapSecondary": "mobile",
31
+ "multi": "array"
32
+ }
33
+ ]
34
+ },
35
+ "group": {
36
+ "resourceType": "Group",
37
+ "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
38
+ "entries": [
39
+ { "scim": "displayName", "ldap": "cn" },
40
+ {
41
+ "scim": "externalId",
42
+ "ldap": "entryUUID",
43
+ "operational": true,
44
+ "readOnly": true
45
+ }
46
+ ]
47
+ }
48
+ }