@magda/typescript-common 1.1.0-alpha.2 → 1.1.0-rc.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.
- package/dist/AspectBuilder.d.ts +7 -0
- package/dist/AspectBuilder.js +3 -0
- package/dist/AspectBuilder.js.map +1 -0
- package/dist/AspectCreationFailure.d.ts +5 -0
- package/dist/AspectCreationFailure.js +10 -0
- package/dist/AspectCreationFailure.js.map +1 -0
- package/dist/AsyncPage.d.ts +18 -0
- package/dist/AsyncPage.js +140 -0
- package/dist/AsyncPage.js.map +1 -0
- package/dist/ConnectionResult.d.ts +16 -0
- package/dist/ConnectionResult.js +77 -0
- package/dist/ConnectionResult.js.map +1 -0
- package/dist/ConnectorRecordId.d.ts +15 -0
- package/dist/ConnectorRecordId.js +46 -0
- package/dist/ConnectorRecordId.js.map +1 -0
- package/dist/JsonConnector.d.ts +195 -0
- package/dist/JsonConnector.js +427 -0
- package/dist/JsonConnector.js.map +1 -0
- package/dist/JsonTransformer.d.ts +112 -0
- package/dist/JsonTransformer.js +225 -0
- package/dist/JsonTransformer.js.map +1 -0
- package/dist/OpaCompileResponseParser.d.ts +480 -0
- package/dist/OpaCompileResponseParser.js +1134 -0
- package/dist/OpaCompileResponseParser.js.map +1 -0
- package/dist/RecordCreationFailure.d.ts +7 -0
- package/dist/RecordCreationFailure.js +11 -0
- package/dist/RecordCreationFailure.js.map +1 -0
- package/dist/SimpleOpaSQLTranslator.d.ts +14 -0
- package/dist/SimpleOpaSQLTranslator.js +79 -0
- package/dist/SimpleOpaSQLTranslator.js.map +1 -0
- package/dist/addTrailingSlash.d.ts +1 -0
- package/dist/addTrailingSlash.js +15 -0
- package/dist/addTrailingSlash.js.map +1 -0
- package/dist/appendUrlSegments.d.ts +2 -0
- package/dist/appendUrlSegments.js +18 -0
- package/dist/appendUrlSegments.js.map +1 -0
- package/dist/authorization-api/AccessControlError.d.ts +4 -0
- package/dist/authorization-api/AccessControlError.js +13 -0
- package/dist/authorization-api/AccessControlError.js.map +1 -0
- package/dist/authorization-api/ApiClient.d.ts +141 -0
- package/dist/authorization-api/ApiClient.js +335 -0
- package/dist/authorization-api/ApiClient.js.map +1 -0
- package/dist/authorization-api/AuthError.d.ts +4 -0
- package/dist/authorization-api/AuthError.js +13 -0
- package/dist/authorization-api/AuthError.js.map +1 -0
- package/dist/authorization-api/GenericError.d.ts +9 -0
- package/dist/authorization-api/GenericError.js +17 -0
- package/dist/authorization-api/GenericError.js.map +1 -0
- package/dist/authorization-api/authMiddleware.d.ts +7 -0
- package/dist/authorization-api/authMiddleware.js +52 -0
- package/dist/authorization-api/authMiddleware.js.map +1 -0
- package/dist/authorization-api/model.d.ts +99 -0
- package/dist/authorization-api/model.js +3 -0
- package/dist/authorization-api/model.js.map +1 -0
- package/dist/coerceJson.d.ts +2 -0
- package/dist/coerceJson.js +13 -0
- package/dist/coerceJson.js.map +1 -0
- package/dist/createServiceError.d.ts +19 -0
- package/dist/createServiceError.js +45 -0
- package/dist/createServiceError.js.map +1 -0
- package/dist/delay.d.ts +2 -0
- package/dist/delay.js +9 -0
- package/dist/delay.js.map +1 -0
- package/dist/express/status.d.ts +30 -0
- package/dist/express/status.js +180 -0
- package/dist/express/status.js.map +1 -0
- package/dist/formatServiceError.d.ts +1 -0
- package/dist/formatServiceError.js +23 -0
- package/dist/formatServiceError.js.map +1 -0
- package/dist/generated/registry/api.d.ts +596 -0
- package/dist/generated/registry/api.js +2060 -0
- package/dist/generated/registry/api.js.map +1 -0
- package/dist/getAbsoluteUrl.d.ts +12 -0
- package/dist/getAbsoluteUrl.js +35 -0
- package/dist/getAbsoluteUrl.js.map +1 -0
- package/dist/getBasePathFromUrl.d.ts +10 -0
- package/dist/getBasePathFromUrl.js +27 -0
- package/dist/getBasePathFromUrl.js.map +1 -0
- package/dist/markdownToHtml.d.ts +3 -0
- package/dist/markdownToHtml.js +38 -0
- package/dist/markdownToHtml.js.map +1 -0
- package/dist/opa/OpaTypes.d.ts +41 -0
- package/dist/opa/OpaTypes.js +3 -0
- package/dist/opa/OpaTypes.js.map +1 -0
- package/dist/opa/getAuthDecision.d.ts +19 -0
- package/dist/opa/getAuthDecision.js +94 -0
- package/dist/opa/getAuthDecision.js.map +1 -0
- package/dist/opa/queryOpa.d.ts +1 -0
- package/dist/opa/queryOpa.js +41 -0
- package/dist/opa/queryOpa.js.map +1 -0
- package/dist/registry/AuthorizedRegistryClient.d.ts +29 -0
- package/dist/registry/AuthorizedRegistryClient.js +115 -0
- package/dist/registry/AuthorizedRegistryClient.js.map +1 -0
- package/dist/registry/RegistryClient.d.ts +36 -0
- package/dist/registry/RegistryClient.js +59 -0
- package/dist/registry/RegistryClient.js.map +1 -0
- package/dist/registry/TenantConsts.d.ts +31 -0
- package/dist/registry/TenantConsts.js +35 -0
- package/dist/registry/TenantConsts.js.map +1 -0
- package/dist/registry-manual/api.d.ts +9 -0
- package/dist/registry-manual/api.js +10 -0
- package/dist/registry-manual/api.js.map +1 -0
- package/dist/request.d.ts +3 -0
- package/dist/request.js +19 -0
- package/dist/request.js.map +1 -0
- package/dist/retry.d.ts +1 -0
- package/dist/retry.js +21 -0
- package/dist/retry.js.map +1 -0
- package/dist/retryBackoff.d.ts +1 -0
- package/dist/retryBackoff.js +21 -0
- package/dist/retryBackoff.js.map +1 -0
- package/dist/runLater.d.ts +1 -0
- package/dist/runLater.js +16 -0
- package/dist/runLater.js.map +1 -0
- package/dist/session/GetUserId.d.ts +5 -0
- package/dist/session/GetUserId.js +41 -0
- package/dist/session/GetUserId.js.map +1 -0
- package/dist/session/GetUserSession.d.ts +3 -0
- package/dist/session/GetUserSession.js +22 -0
- package/dist/session/GetUserSession.js.map +1 -0
- package/dist/session/addJwtSecretFromEnvVar.d.ts +14 -0
- package/dist/session/addJwtSecretFromEnvVar.js +23 -0
- package/dist/session/addJwtSecretFromEnvVar.js.map +1 -0
- package/dist/session/buildJwt.d.ts +1 -0
- package/dist/session/buildJwt.js +8 -0
- package/dist/session/buildJwt.js.map +1 -0
- package/dist/session/cookieUtils.d.ts +16 -0
- package/dist/session/cookieUtils.js +19 -0
- package/dist/session/cookieUtils.js.map +1 -0
- package/dist/session/destroySession.d.ts +10 -0
- package/dist/session/destroySession.js +44 -0
- package/dist/session/destroySession.js.map +1 -0
- package/dist/session/getSessionId.d.ts +2 -0
- package/dist/session/getSessionId.js +28 -0
- package/dist/session/getSessionId.js.map +1 -0
- package/dist/tenant-api/AuthorizedTenantClient.d.ts +25 -0
- package/dist/tenant-api/AuthorizedTenantClient.js +61 -0
- package/dist/tenant-api/AuthorizedTenantClient.js.map +1 -0
- package/dist/tenant-api/Tenant.d.ts +17 -0
- package/dist/tenant-api/Tenant.js +10 -0
- package/dist/tenant-api/Tenant.js.map +1 -0
- package/dist/test/JsonConnector.spec.d.ts +1 -0
- package/dist/test/JsonConnector.spec.js +352 -0
- package/dist/test/JsonConnector.spec.js.map +1 -0
- package/dist/test/JsonTransformer.spec.d.ts +1 -0
- package/dist/test/JsonTransformer.spec.js +98 -0
- package/dist/test/JsonTransformer.spec.js.map +1 -0
- package/dist/test/arbitraries.d.ts +98 -0
- package/dist/test/arbitraries.js +264 -0
- package/dist/test/arbitraries.js.map +1 -0
- package/dist/test/aspect-templates/organization-details.d.ts +4 -0
- package/dist/test/aspect-templates/organization-details.js +11 -0
- package/dist/test/aspect-templates/organization-details.js.map +1 -0
- package/dist/test/buildApiClient.spec.d.ts +1 -0
- package/dist/test/buildApiClient.spec.js +177 -0
- package/dist/test/buildApiClient.spec.js.map +1 -0
- package/dist/test/buildAuthorizedTenantClient.spec.d.ts +1 -0
- package/dist/test/buildAuthorizedTenantClient.spec.js +60 -0
- package/dist/test/buildAuthorizedTenantClient.spec.js.map +1 -0
- package/dist/test/connectors/MockExpressServer.d.ts +5 -0
- package/dist/test/connectors/MockExpressServer.js +28 -0
- package/dist/test/connectors/MockExpressServer.js.map +1 -0
- package/dist/test/connectors/MockRegistry.d.ts +7 -0
- package/dist/test/connectors/MockRegistry.js +93 -0
- package/dist/test/connectors/MockRegistry.js.map +1 -0
- package/dist/test/connectors/runConnectorTest.d.ts +5 -0
- package/dist/test/connectors/runConnectorTest.js +106 -0
- package/dist/test/connectors/runConnectorTest.js.map +1 -0
- package/dist/test/db/getTestDBConfig.d.ts +7 -0
- package/dist/test/db/getTestDBConfig.js +13 -0
- package/dist/test/db/getTestDBConfig.js.map +1 -0
- package/dist/test/db/runMigrationSql.d.ts +9 -0
- package/dist/test/db/runMigrationSql.js +82 -0
- package/dist/test/db/runMigrationSql.js.map +1 -0
- package/dist/test/express/status.spec.d.ts +1 -0
- package/dist/test/express/status.spec.js +160 -0
- package/dist/test/express/status.spec.js.map +1 -0
- package/dist/test/fakeArgv.d.ts +2 -0
- package/dist/test/fakeArgv.js +7 -0
- package/dist/test/fakeArgv.js.map +1 -0
- package/dist/test/getAuthDecision.spec.d.ts +1 -0
- package/dist/test/getAuthDecision.spec.js +22 -0
- package/dist/test/getAuthDecision.spec.js.map +1 -0
- package/dist/test/getBasePathFromUrl.spec.d.ts +1 -0
- package/dist/test/getBasePathFromUrl.spec.js +25 -0
- package/dist/test/getBasePathFromUrl.spec.js.map +1 -0
- package/dist/test/jsverify.d.ts +2 -0
- package/dist/test/jsverify.js +8 -0
- package/dist/test/jsverify.js.map +1 -0
- package/dist/test/mockAuthApiHost.d.ts +14 -0
- package/dist/test/mockAuthApiHost.js +174 -0
- package/dist/test/mockAuthApiHost.js.map +1 -0
- package/dist/test/mockAuthorization.d.ts +3 -0
- package/dist/test/mockAuthorization.js +24 -0
- package/dist/test/mockAuthorization.js.map +1 -0
- package/dist/test/mockTenantDataStore.d.ts +8 -0
- package/dist/test/mockTenantDataStore.js +41 -0
- package/dist/test/mockTenantDataStore.js.map +1 -0
- package/dist/test/mockUserDataStore.d.ts +11 -0
- package/dist/test/mockUserDataStore.js +56 -0
- package/dist/test/mockUserDataStore.js.map +1 -0
- package/dist/test/registry/buildAuthorizedClient.spec.d.ts +1 -0
- package/dist/test/registry/buildAuthorizedClient.spec.js +101 -0
- package/dist/test/registry/buildAuthorizedClient.spec.js.map +1 -0
- package/dist/test/sampleOpaResponse.json +480 -0
- package/dist/test/sampleOpaResponseSimple.json +173 -0
- package/dist/test/sampleOpaResponseUnconditionalTrue.json +193 -0
- package/dist/test/sampleOpaResponseUnconditionalTrueWithDefaultRule.json +303 -0
- package/dist/test/sampleOpaResponseWithDefaultRule.json +303 -0
- package/dist/test/session/buildJwt.spec.d.ts +1 -0
- package/dist/test/session/buildJwt.spec.js +50 -0
- package/dist/test/session/buildJwt.spec.js.map +1 -0
- package/dist/test/session/buildJwtForRegistryEsriOpaGroupsAndOwnerTest.spec.d.ts +1 -0
- package/dist/test/session/buildJwtForRegistryEsriOpaGroupsAndOwnerTest.spec.js +64 -0
- package/dist/test/session/buildJwtForRegistryEsriOpaGroupsAndOwnerTest.spec.js.map +1 -0
- package/dist/test/session/buildJwtForRegistryEsriOpaGroupsTest.spec.d.ts +1 -0
- package/dist/test/session/buildJwtForRegistryEsriOpaGroupsTest.spec.js +52 -0
- package/dist/test/session/buildJwtForRegistryEsriOpaGroupsTest.spec.js.map +1 -0
- package/dist/test/session/buildJwtForRegistryEsriOpaOwnerTest.spec.d.ts +1 -0
- package/dist/test/session/buildJwtForRegistryEsriOpaOwnerTest.spec.js +36 -0
- package/dist/test/session/buildJwtForRegistryEsriOpaOwnerTest.spec.js.map +1 -0
- package/dist/test/testAsyncPage.spec.d.ts +1 -0
- package/dist/test/testAsyncPage.spec.js +463 -0
- package/dist/test/testAsyncPage.spec.js.map +1 -0
- package/dist/test/testOpaCompileResponseParser.spec.d.ts +1 -0
- package/dist/test/testOpaCompileResponseParser.spec.js +148 -0
- package/dist/test/testOpaCompileResponseParser.spec.js.map +1 -0
- package/dist/test/util.d.ts +1 -0
- package/dist/test/util.js +8 -0
- package/dist/test/util.js.map +1 -0
- package/dist/util/arrayToMaybe.d.ts +2 -0
- package/dist/util/arrayToMaybe.js +8 -0
- package/dist/util/arrayToMaybe.js.map +1 -0
- package/dist/util/cleanOrgTitle.d.ts +1 -0
- package/dist/util/cleanOrgTitle.js +13 -0
- package/dist/util/cleanOrgTitle.js.map +1 -0
- package/dist/util/escapeRegExp.d.ts +2 -0
- package/dist/util/escapeRegExp.js +5 -0
- package/dist/util/escapeRegExp.js.map +1 -0
- package/dist/util/getMinikubeIP.d.ts +1 -0
- package/dist/util/getMinikubeIP.js +13 -0
- package/dist/util/getMinikubeIP.js.map +1 -0
- package/dist/util/isUuid.d.ts +2 -0
- package/dist/util/isUuid.js +6 -0
- package/dist/util/isUuid.js.map +1 -0
- package/dist/util/unionToThrowable.d.ts +1 -0
- package/dist/util/unionToThrowable.js +12 -0
- package/dist/util/unionToThrowable.js.map +1 -0
- package/dist/utilityTypes.d.ts +1 -0
- package/dist/utilityTypes.js +3 -0
- package/dist/utilityTypes.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
{
|
|
2
|
+
"result": {
|
|
3
|
+
"queries": [
|
|
4
|
+
[
|
|
5
|
+
{
|
|
6
|
+
"index": 0,
|
|
7
|
+
"terms": {
|
|
8
|
+
"type": "ref",
|
|
9
|
+
"value": [
|
|
10
|
+
{
|
|
11
|
+
"type": "var",
|
|
12
|
+
"value": "data"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "string",
|
|
16
|
+
"value": "partial"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"type": "string",
|
|
20
|
+
"value": "object"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"type": "string",
|
|
24
|
+
"value": "registry"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"type": "string",
|
|
28
|
+
"value": "record"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"type": "string",
|
|
32
|
+
"value": "esri_owner_groups"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"type": "string",
|
|
36
|
+
"value": "read"
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
],
|
|
43
|
+
"support": [
|
|
44
|
+
{
|
|
45
|
+
"package": {
|
|
46
|
+
"path": [
|
|
47
|
+
{
|
|
48
|
+
"type": "var",
|
|
49
|
+
"value": "data"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"type": "string",
|
|
53
|
+
"value": "partial"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"type": "string",
|
|
57
|
+
"value": "object"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"type": "string",
|
|
61
|
+
"value": "registry"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"type": "string",
|
|
65
|
+
"value": "record"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"type": "string",
|
|
69
|
+
"value": "esri_owner_groups"
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
"rules": [
|
|
74
|
+
{
|
|
75
|
+
"head": {
|
|
76
|
+
"name": "read",
|
|
77
|
+
"value": {
|
|
78
|
+
"type": "boolean",
|
|
79
|
+
"value": true
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"body": [
|
|
83
|
+
{
|
|
84
|
+
"index": 0,
|
|
85
|
+
"terms": {
|
|
86
|
+
"type": "boolean",
|
|
87
|
+
"value": true
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"head": {
|
|
94
|
+
"name": "read",
|
|
95
|
+
"value": {
|
|
96
|
+
"type": "boolean",
|
|
97
|
+
"value": true
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"body": [
|
|
101
|
+
{
|
|
102
|
+
"index": 0,
|
|
103
|
+
"terms": [
|
|
104
|
+
{
|
|
105
|
+
"type": "ref",
|
|
106
|
+
"value": [
|
|
107
|
+
{
|
|
108
|
+
"type": "var",
|
|
109
|
+
"value": "eq"
|
|
110
|
+
}
|
|
111
|
+
]
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"type": "ref",
|
|
115
|
+
"value": [
|
|
116
|
+
{
|
|
117
|
+
"type": "var",
|
|
118
|
+
"value": "input"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"type": "string",
|
|
122
|
+
"value": "object"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"type": "string",
|
|
126
|
+
"value": "registry"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"type": "string",
|
|
130
|
+
"value": "record"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"type": "string",
|
|
134
|
+
"value": "esri-access-control"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"type": "string",
|
|
138
|
+
"value": "access"
|
|
139
|
+
}
|
|
140
|
+
]
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"type": "string",
|
|
144
|
+
"value": "public"
|
|
145
|
+
}
|
|
146
|
+
]
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"index": 1,
|
|
150
|
+
"terms": [
|
|
151
|
+
{
|
|
152
|
+
"type": "ref",
|
|
153
|
+
"value": [
|
|
154
|
+
{
|
|
155
|
+
"type": "var",
|
|
156
|
+
"value": "gt"
|
|
157
|
+
}
|
|
158
|
+
]
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"type": "ref",
|
|
162
|
+
"value": [
|
|
163
|
+
{
|
|
164
|
+
"type": "var",
|
|
165
|
+
"value": "input"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"type": "string",
|
|
169
|
+
"value": "object"
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"type": "string",
|
|
173
|
+
"value": "registry"
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"type": "string",
|
|
177
|
+
"value": "record"
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"type": "string",
|
|
181
|
+
"value": "esri-access-control"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"type": "string",
|
|
185
|
+
"value": "expiration"
|
|
186
|
+
}
|
|
187
|
+
]
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"type": "number",
|
|
191
|
+
"value": 1599191720666
|
|
192
|
+
}
|
|
193
|
+
]
|
|
194
|
+
}
|
|
195
|
+
]
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"default": true,
|
|
199
|
+
"head": {
|
|
200
|
+
"name": "read",
|
|
201
|
+
"value": {
|
|
202
|
+
"type": "boolean",
|
|
203
|
+
"value": false
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
"body": [
|
|
207
|
+
{
|
|
208
|
+
"index": 0,
|
|
209
|
+
"terms": {
|
|
210
|
+
"type": "boolean",
|
|
211
|
+
"value": true
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
]
|
|
215
|
+
}
|
|
216
|
+
]
|
|
217
|
+
}
|
|
218
|
+
]
|
|
219
|
+
},
|
|
220
|
+
"explanation": [
|
|
221
|
+
"Enter data.object.registry.record.esri_owner_groups.read",
|
|
222
|
+
"| Eval data.object.registry.record.esri_owner_groups.read",
|
|
223
|
+
"| Index data.object.registry.record.esri_owner_groups.read matched 4 rules)",
|
|
224
|
+
"| Enter data.object.registry.record.esri_owner_groups.read",
|
|
225
|
+
"| | Eval data.object.registry.record.admin_role",
|
|
226
|
+
"| | Index data.object.registry.record.admin_role (matched 1 rule)",
|
|
227
|
+
"| | Enter data.object.registry.record.admin_role",
|
|
228
|
+
"| | | Eval input.user.roles[_] = \"00000000-0000-0003-0000-000000000000\"",
|
|
229
|
+
"| | | Exit data.object.registry.record.admin_role",
|
|
230
|
+
"| | Exit data.object.registry.record.esri_owner_groups.read",
|
|
231
|
+
"| Redo data.object.registry.record.esri_owner_groups.read",
|
|
232
|
+
"| | Redo data.object.registry.record.admin_role",
|
|
233
|
+
"| | Redo data.object.registry.record.admin_role",
|
|
234
|
+
"| | | Redo input.user.roles[_] = \"00000000-0000-0003-0000-000000000000\"",
|
|
235
|
+
"| Enter data.object.registry.record.esri_owner_groups.read",
|
|
236
|
+
"| | Eval data.object.registry.record.has_permission.read",
|
|
237
|
+
"| | Index data.object.registry.record.has_permission.read (matched 1 rule)",
|
|
238
|
+
"| | Enter data.object.registry.record.has_permission.read",
|
|
239
|
+
"| | | Eval data.object.registry.record.has_permission.has_permission(\"object/registry/record/read\")",
|
|
240
|
+
"| | | Index data.object.registry.record.has_permission.has_permission(\"object/registry/record/read\") (matched 1 rule)",
|
|
241
|
+
"| | | Enter data.object.registry.record.has_permission.has_permission",
|
|
242
|
+
"| | | | Eval input.user.permissions[_].operations[_].uri = permission",
|
|
243
|
+
"| | | | Exit data.object.registry.record.has_permission.has_permission",
|
|
244
|
+
"| | | Exit data.object.registry.record.has_permission.read",
|
|
245
|
+
"| | Eval data.object.registry.record.esri_groups",
|
|
246
|
+
"| | Index data.object.registry.record.esri_groups (matched 1 rule)",
|
|
247
|
+
"| | Enter data.object.registry.record.esri_groups",
|
|
248
|
+
"| | | Eval input.object.registry.record[\"esri-access-control\"].groups[_] = input.user.session.esriGroups[_]",
|
|
249
|
+
"| | | Fail input.object.registry.record[\"esri-access-control\"].groups[_] = input.user.session.esriGroups[_]",
|
|
250
|
+
"| | Fail data.object.registry.record.esri_groups",
|
|
251
|
+
"| | Redo data.object.registry.record.has_permission.read",
|
|
252
|
+
"| | Redo data.object.registry.record.has_permission.read",
|
|
253
|
+
"| | | Redo data.object.registry.record.has_permission.has_permission(\"object/registry/record/read\")",
|
|
254
|
+
"| | | Redo data.object.registry.record.has_permission.has_permission",
|
|
255
|
+
"| | | | Redo input.user.permissions[_].operations[_].uri = permission",
|
|
256
|
+
"| Enter data.object.registry.record.esri_owner_groups.read",
|
|
257
|
+
"| | Eval data.object.registry.record.has_permission.read",
|
|
258
|
+
"| | Index data.object.registry.record.has_permission.read (matched 1 rule)",
|
|
259
|
+
"| | Eval data.object.registry.record.esri_owner",
|
|
260
|
+
"| | Index data.object.registry.record.esri_owner (matched 1 rule)",
|
|
261
|
+
"| | Enter data.object.registry.record.esri_owner",
|
|
262
|
+
"| | | Eval input.object.registry.record[\"esri-access-control\"].owner = input.user.session.esriUser",
|
|
263
|
+
"| | | Fail input.object.registry.record[\"esri-access-control\"].owner = input.user.session.esriUser",
|
|
264
|
+
"| | Fail data.object.registry.record.esri_owner",
|
|
265
|
+
"| | Redo data.object.registry.record.has_permission.read",
|
|
266
|
+
"| Enter data.object.registry.record.esri_owner_groups.read",
|
|
267
|
+
"| | Eval data.object.registry.record.esri_public",
|
|
268
|
+
"| | Index data.object.registry.record.esri_public (matched 1 rule)",
|
|
269
|
+
"| | Enter data.object.registry.record.esri_public",
|
|
270
|
+
"| | | Eval input.object.registry.record[\"esri-access-control\"].access = \"public\"",
|
|
271
|
+
"| | | Save input.object.registry.record[\"esri-access-control\"].access = \"public\"",
|
|
272
|
+
"| | | Exit data.object.registry.record.esri_public",
|
|
273
|
+
"| | Eval data.object.registry.record.esri_expiration",
|
|
274
|
+
"| | Index data.object.registry.record.esri_expiration (matched 1 rule)",
|
|
275
|
+
"| | Enter data.object.registry.record.esri_expiration",
|
|
276
|
+
"| | | Eval __local145__ = input.object.registry.record[\"esri-access-control\"].expiration",
|
|
277
|
+
"| | | Save __local145__ = input.object.registry.record[\"esri-access-control\"].expiration",
|
|
278
|
+
"| | | Eval __local146__ = input.timestamp",
|
|
279
|
+
"| | | Eval gt(__local145__, __local146__)",
|
|
280
|
+
"| | | Save gt(__local145__, __local146__)",
|
|
281
|
+
"| | | Exit data.object.registry.record.esri_expiration",
|
|
282
|
+
"| | Exit data.object.registry.record.esri_owner_groups.read",
|
|
283
|
+
"| Redo data.object.registry.record.esri_owner_groups.read",
|
|
284
|
+
"| | Redo data.object.registry.record.esri_expiration",
|
|
285
|
+
"| | Redo data.object.registry.record.esri_expiration",
|
|
286
|
+
"| | | Redo gt(__local145__, __local146__)",
|
|
287
|
+
"| | | Redo __local146__ = input.timestamp",
|
|
288
|
+
"| | | Redo __local145__ = input.object.registry.record[\"esri-access-control\"].expiration",
|
|
289
|
+
"| | Redo data.object.registry.record.esri_public",
|
|
290
|
+
"| | Redo data.object.registry.record.esri_public",
|
|
291
|
+
"| | | Redo input.object.registry.record[\"esri-access-control\"].access = \"public\"",
|
|
292
|
+
"| Enter data.object.registry.record.esri_owner_groups.read",
|
|
293
|
+
"| | Eval true",
|
|
294
|
+
"| | Exit data.object.registry.record.esri_owner_groups.read",
|
|
295
|
+
"| Redo data.object.registry.record.esri_owner_groups.read",
|
|
296
|
+
"| | Redo true",
|
|
297
|
+
"| Save data.partial.object.registry.record.esri_owner_groups.read = _",
|
|
298
|
+
"| Save _",
|
|
299
|
+
"| Exit data.object.registry.record.esri_owner_groups.read",
|
|
300
|
+
"Redo data.object.registry.record.esri_owner_groups.read",
|
|
301
|
+
"| Fail data.object.registry.record.esri_owner_groups.read"
|
|
302
|
+
]
|
|
303
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "mocha";
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const chai_1 = require("chai");
|
|
7
|
+
require("mocha");
|
|
8
|
+
const yargs_1 = __importDefault(require("yargs"));
|
|
9
|
+
const addJwtSecretFromEnvVar_1 = __importDefault(require("../../session/addJwtSecretFromEnvVar"));
|
|
10
|
+
const GetUserId_1 = require("../../session/GetUserId");
|
|
11
|
+
const GetUserSession_1 = require("../../session/GetUserSession");
|
|
12
|
+
const buildJwt_1 = __importDefault(require("../../session/buildJwt"));
|
|
13
|
+
const { mockRequest } = require("mock-req-res");
|
|
14
|
+
describe("Get authz claim from jwt token", () => {
|
|
15
|
+
const argv = addJwtSecretFromEnvVar_1.default(yargs_1.default.config().help().option("jwtSecret", {
|
|
16
|
+
describe: "The secret to use to sign JSON Web Token (JWT) for authenticated requests.",
|
|
17
|
+
type: "string"
|
|
18
|
+
}).argv);
|
|
19
|
+
it("should get userId", function () {
|
|
20
|
+
const aUserId = "aTestUserId";
|
|
21
|
+
const jwtToken = buildJwt_1.default(argv.jwtSecret, aUserId);
|
|
22
|
+
const req = mockRequest({
|
|
23
|
+
header(name) {
|
|
24
|
+
if (name === "X-Magda-Session")
|
|
25
|
+
return jwtToken;
|
|
26
|
+
else
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
const actual = GetUserId_1.getUserId(req, argv.jwtSecret).valueOr("wrong answer");
|
|
31
|
+
chai_1.expect(actual).to.be.equal(aUserId);
|
|
32
|
+
});
|
|
33
|
+
it("should get user session", function () {
|
|
34
|
+
const aUserId = "aTestUserId";
|
|
35
|
+
const groups = ["G1", "G2"];
|
|
36
|
+
const session = { session: { esriGroups: groups } };
|
|
37
|
+
const jwtToken = buildJwt_1.default(argv.jwtSecret, aUserId, session);
|
|
38
|
+
const req = mockRequest({
|
|
39
|
+
header(name) {
|
|
40
|
+
if (name === "X-Magda-Session")
|
|
41
|
+
return jwtToken;
|
|
42
|
+
else
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
const actual = GetUserSession_1.getUserSession(req, argv.jwtSecret).valueOr({});
|
|
47
|
+
chai_1.expect(actual.session.esriGroups).to.be.deep.equal(groups);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=buildJwt.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildJwt.spec.js","sourceRoot":"","sources":["../../../src/test/session/buildJwt.spec.ts"],"names":[],"mappings":";;;;;AAAA,+BAA8B;AAC9B,iBAAe;AACf,kDAA0B;AAC1B,kGAA0E;AAC1E,uDAAoD;AACpD,iEAA8D;AAC9D,sEAA8C;AAC9C,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAEhD,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC5C,MAAM,IAAI,GAAG,gCAAsB,CAC/B,eAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE;QACtC,QAAQ,EACJ,4EAA4E;QAChF,IAAI,EAAE,QAAQ;KACjB,CAAC,CAAC,IAAI,CACV,CAAC;IAEF,EAAE,CAAC,mBAAmB,EAAE;QACpB,MAAM,OAAO,GAAG,aAAa,CAAC;QAC9B,MAAM,QAAQ,GAAG,kBAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEnD,MAAM,GAAG,GAAG,WAAW,CAAC;YACpB,MAAM,CAAC,IAAY;gBACf,IAAI,IAAI,KAAK,iBAAiB;oBAAE,OAAO,QAAQ,CAAC;;oBAC3C,OAAO,IAAI,CAAC;YACrB,CAAC;SACJ,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,qBAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACtE,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE;QAC1B,MAAM,OAAO,GAAG,aAAa,CAAC;QAC9B,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,kBAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE5D,MAAM,GAAG,GAAG,WAAW,CAAC;YACpB,MAAM,CAAC,IAAY;gBACf,IAAI,IAAI,KAAK,iBAAiB;oBAAE,OAAO,QAAQ,CAAC;;oBAC3C,OAAO,IAAI,CAAC;YACrB,CAAC;SACJ,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,+BAAc,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/D,aAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "mocha";
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
require("mocha");
|
|
7
|
+
const yargs_1 = __importDefault(require("yargs"));
|
|
8
|
+
const addJwtSecretFromEnvVar_1 = __importDefault(require("../../session/addJwtSecretFromEnvVar"));
|
|
9
|
+
const buildJwt_1 = __importDefault(require("../../session/buildJwt"));
|
|
10
|
+
describe("Get authz claim from jwt token", () => {
|
|
11
|
+
const argv = addJwtSecretFromEnvVar_1.default(yargs_1.default.config().help().option("jwtSecret", {
|
|
12
|
+
describe: "The secret to use to sign JSON Web Token (JWT) for authenticated requests.",
|
|
13
|
+
type: "string"
|
|
14
|
+
}).argv);
|
|
15
|
+
it("should create jwt token with userId and session claims", function () {
|
|
16
|
+
const sessions = [
|
|
17
|
+
{
|
|
18
|
+
session: {
|
|
19
|
+
esriGroups: [
|
|
20
|
+
"Dep. A",
|
|
21
|
+
"Branch A, Dep. A",
|
|
22
|
+
"Branch B, Dep. A",
|
|
23
|
+
"Section C, Branch B, Dep. A"
|
|
24
|
+
],
|
|
25
|
+
esriUser: "user0"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
session: {
|
|
30
|
+
esriGroups: ["Branch A, Dep. A"],
|
|
31
|
+
esriUser: "user1"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
session: {
|
|
36
|
+
esriGroups: [
|
|
37
|
+
"Branch B, Dep. A",
|
|
38
|
+
"Section C, Branch B, Dep. A"
|
|
39
|
+
],
|
|
40
|
+
esriUser: "user2"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
session: {
|
|
45
|
+
esriGroups: ["Section C, Branch B, Dep. A"],
|
|
46
|
+
esriUser: "user3"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
];
|
|
50
|
+
const userIds = [
|
|
51
|
+
"00000000-0000-1000-0000-000000000000",
|
|
52
|
+
"00000000-0000-1000-0001-000000000000",
|
|
53
|
+
"00000000-0000-1000-0002-000000000000",
|
|
54
|
+
"00000000-0000-1000-0003-000000000000"
|
|
55
|
+
];
|
|
56
|
+
for (var i = 0; i < userIds.length; i++) {
|
|
57
|
+
let userId = userIds[i];
|
|
58
|
+
let session = sessions[i];
|
|
59
|
+
let jwtToken = buildJwt_1.default(argv.jwtSecret, userId, session);
|
|
60
|
+
console.log(`userId ${userIds[i]}: \njwt: ${jwtToken}\n`);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
//# sourceMappingURL=buildJwtForRegistryEsriOpaGroupsAndOwnerTest.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildJwtForRegistryEsriOpaGroupsAndOwnerTest.spec.js","sourceRoot":"","sources":["../../../src/test/session/buildJwtForRegistryEsriOpaGroupsAndOwnerTest.spec.ts"],"names":[],"mappings":";;;;;AAAA,iBAAe;AACf,kDAA0B;AAC1B,kGAA0E;AAC1E,sEAA8C;AAE9C,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC5C,MAAM,IAAI,GAAG,gCAAsB,CAC/B,eAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE;QACtC,QAAQ,EACJ,4EAA4E;QAChF,IAAI,EAAE,QAAQ;KACjB,CAAC,CAAC,IAAI,CACV,CAAC;IAEF,EAAE,CAAC,wDAAwD,EAAE;QACzD,MAAM,QAAQ,GAAG;YACb;gBACI,OAAO,EAAE;oBACL,UAAU,EAAE;wBACR,QAAQ;wBACR,kBAAkB;wBAClB,kBAAkB;wBAClB,6BAA6B;qBAChC;oBACD,QAAQ,EAAE,OAAO;iBACpB;aACJ;YACD;gBACI,OAAO,EAAE;oBACL,UAAU,EAAE,CAAC,kBAAkB,CAAC;oBAChC,QAAQ,EAAE,OAAO;iBACpB;aACJ;YACD;gBACI,OAAO,EAAE;oBACL,UAAU,EAAE;wBACR,kBAAkB;wBAClB,6BAA6B;qBAChC;oBACD,QAAQ,EAAE,OAAO;iBACpB;aACJ;YACD;gBACI,OAAO,EAAE;oBACL,UAAU,EAAE,CAAC,6BAA6B,CAAC;oBAC3C,QAAQ,EAAE,OAAO;iBACpB;aACJ;SACJ,CAAC;QAEF,MAAM,OAAO,GAAG;YACZ,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;SACzC,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,QAAQ,GAAG,kBAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,CAAC,CAAC,CAAC,YAAY,QAAQ,IAAI,CAAC,CAAC;SAC7D;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "mocha";
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
require("mocha");
|
|
7
|
+
const yargs_1 = __importDefault(require("yargs"));
|
|
8
|
+
const addJwtSecretFromEnvVar_1 = __importDefault(require("../../session/addJwtSecretFromEnvVar"));
|
|
9
|
+
const buildJwt_1 = __importDefault(require("../../session/buildJwt"));
|
|
10
|
+
describe("Get authz claim from jwt token", () => {
|
|
11
|
+
const argv = addJwtSecretFromEnvVar_1.default(yargs_1.default.config().help().option("jwtSecret", {
|
|
12
|
+
describe: "The secret to use to sign JSON Web Token (JWT) for authenticated requests.",
|
|
13
|
+
type: "string"
|
|
14
|
+
}).argv);
|
|
15
|
+
it("should create jwt token with userId and session claims", function () {
|
|
16
|
+
const sessions = [
|
|
17
|
+
{
|
|
18
|
+
session: {
|
|
19
|
+
esriGroups: [
|
|
20
|
+
"Dep. A",
|
|
21
|
+
"Branch A, Dep. A",
|
|
22
|
+
"Branch B, Dep. A",
|
|
23
|
+
"Section C, Branch B, Dep. A"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
{ session: { esriGroups: ["Branch A, Dep. A"] } },
|
|
28
|
+
{
|
|
29
|
+
session: {
|
|
30
|
+
esriGroups: [
|
|
31
|
+
"Branch B, Dep. A",
|
|
32
|
+
"Section C, Branch B, Dep. A"
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
{ session: { esriGroups: ["Section C, Branch B, Dep. A"] } }
|
|
37
|
+
];
|
|
38
|
+
const userIds = [
|
|
39
|
+
"00000000-0000-1000-0000-000000000000",
|
|
40
|
+
"00000000-0000-1000-0001-000000000000",
|
|
41
|
+
"00000000-0000-1000-0002-000000000000",
|
|
42
|
+
"00000000-0000-1000-0003-000000000000"
|
|
43
|
+
];
|
|
44
|
+
for (var i = 0; i < userIds.length; i++) {
|
|
45
|
+
let userId = userIds[i];
|
|
46
|
+
let session = sessions[i];
|
|
47
|
+
let jwtToken = buildJwt_1.default(argv.jwtSecret, userId, session);
|
|
48
|
+
console.log(`userId ${userIds[i]}: \njwt: ${jwtToken}\n`);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=buildJwtForRegistryEsriOpaGroupsTest.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildJwtForRegistryEsriOpaGroupsTest.spec.js","sourceRoot":"","sources":["../../../src/test/session/buildJwtForRegistryEsriOpaGroupsTest.spec.ts"],"names":[],"mappings":";;;;;AAAA,iBAAe;AACf,kDAA0B;AAC1B,kGAA0E;AAC1E,sEAA8C;AAE9C,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC5C,MAAM,IAAI,GAAG,gCAAsB,CAC/B,eAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE;QACtC,QAAQ,EACJ,4EAA4E;QAChF,IAAI,EAAE,QAAQ;KACjB,CAAC,CAAC,IAAI,CACV,CAAC;IAEF,EAAE,CAAC,wDAAwD,EAAE;QACzD,MAAM,QAAQ,GAAG;YACb;gBACI,OAAO,EAAE;oBACL,UAAU,EAAE;wBACR,QAAQ;wBACR,kBAAkB;wBAClB,kBAAkB;wBAClB,6BAA6B;qBAChC;iBACJ;aACJ;YACD,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE;YACjD;gBACI,OAAO,EAAE;oBACL,UAAU,EAAE;wBACR,kBAAkB;wBAClB,6BAA6B;qBAChC;iBACJ;aACJ;YACD,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,6BAA6B,CAAC,EAAE,EAAE;SAC/D,CAAC;QAEF,MAAM,OAAO,GAAG;YACZ,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;SACzC,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,QAAQ,GAAG,kBAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,CAAC,CAAC,CAAC,YAAY,QAAQ,IAAI,CAAC,CAAC;SAC7D;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "mocha";
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
require("mocha");
|
|
7
|
+
const yargs_1 = __importDefault(require("yargs"));
|
|
8
|
+
const addJwtSecretFromEnvVar_1 = __importDefault(require("../../session/addJwtSecretFromEnvVar"));
|
|
9
|
+
const buildJwt_1 = __importDefault(require("../../session/buildJwt"));
|
|
10
|
+
describe("Get authz claim from jwt token", () => {
|
|
11
|
+
const argv = addJwtSecretFromEnvVar_1.default(yargs_1.default.config().help().option("jwtSecret", {
|
|
12
|
+
describe: "The secret to use to sign JSON Web Token (JWT) for authenticated requests.",
|
|
13
|
+
type: "string"
|
|
14
|
+
}).argv);
|
|
15
|
+
it("should create jwt token with userId and session claims", function () {
|
|
16
|
+
const sessions = [
|
|
17
|
+
{ session: { esriUser: "user0" } },
|
|
18
|
+
{ session: { esriUser: "user1" } },
|
|
19
|
+
{ session: { esriUser: "user2" } },
|
|
20
|
+
{ session: { esriUser: "user3" } }
|
|
21
|
+
];
|
|
22
|
+
const userIds = [
|
|
23
|
+
"00000000-0000-1000-0000-000000000000",
|
|
24
|
+
"00000000-0000-1000-0001-000000000000",
|
|
25
|
+
"00000000-0000-1000-0002-000000000000",
|
|
26
|
+
"00000000-0000-1000-0003-000000000000"
|
|
27
|
+
];
|
|
28
|
+
for (var i = 0; i < userIds.length; i++) {
|
|
29
|
+
let userId = userIds[i];
|
|
30
|
+
let session = sessions[i];
|
|
31
|
+
let jwtToken = buildJwt_1.default(argv.jwtSecret, userId, session);
|
|
32
|
+
console.log(`userId ${userIds[i]}: \njwt: ${jwtToken}\n`);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=buildJwtForRegistryEsriOpaOwnerTest.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildJwtForRegistryEsriOpaOwnerTest.spec.js","sourceRoot":"","sources":["../../../src/test/session/buildJwtForRegistryEsriOpaOwnerTest.spec.ts"],"names":[],"mappings":";;;;;AAAA,iBAAe;AACf,kDAA0B;AAC1B,kGAA0E;AAC1E,sEAA8C;AAE9C,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC5C,MAAM,IAAI,GAAG,gCAAsB,CAC/B,eAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE;QACtC,QAAQ,EACJ,4EAA4E;QAChF,IAAI,EAAE,QAAQ;KACjB,CAAC,CAAC,IAAI,CACV,CAAC;IAEF,EAAE,CAAC,wDAAwD,EAAE;QACzD,MAAM,QAAQ,GAAG;YACb,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;YAClC,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;YAClC,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;YAClC,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;SACrC,CAAC;QAEF,MAAM,OAAO,GAAG;YACZ,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;SACzC,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,QAAQ,GAAG,kBAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,CAAC,CAAC,CAAC,YAAY,QAAQ,IAAI,CAAC,CAAC;SAC7D;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "mocha";
|