Skip to content

Commit 3879d5f

Browse files
committed
updates
1 parent 2891ee6 commit 3879d5f

File tree

3 files changed

+375
-3
lines changed

3 files changed

+375
-3
lines changed

site/docs/.vitepress/config.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export default defineConfig({
88
},
99
title: 'SCIM Verify',
1010
titleTemplate: 'verify.scim.dev',
11-
description: "Verify if your SCIM server meets the SCIM specification: a free CLI tool to verify SCIM server compliance",
11+
description: "SCIM Verify is a conformance testing tool to verify your SCIM 2.0 implementation complies with the specifications.",
1212
head: [
1313
[
1414
'meta',
@@ -30,10 +30,11 @@ export default defineConfig({
3030
},
3131
themeConfig: {
3232
footer: {
33-
copyright: 'Copyright © 2023-present <a href="https://www.limosa.io">Limosa Digital Identity Solutions</a>'
33+
copyright: 'Copyright © 2025-present <a href="https://www.a11n.nl/">a11n</a>'
3434
},
3535
nav: [
36-
{ text: 'Home', link: '/' },
36+
{ text: 'About', link: '/about/' },
37+
{ text: 'Documentation', link: '/docs/' },
3738
{ text: 'SCIM Playground', link: 'https://scim.dev', target: '_blank', rel: 'noopener' }
3839
],
3940
},

site/docs/about/index.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# About SCIM Verify
2+
3+
## What is <span class="font-scim">SCIM</span> Verify?
4+
5+
SCIM Verify is a testing tool designed to help developers validate their SCIM (System for Cross-domain Identity Management) API implementations. It allows you to test your live SCIM API against the SCIM specifications to ensure compatibility and proper functionality.
6+
7+
SCIM Verify is created by the ones behind [SCIM Playground](https://scim.dev).
8+
9+
## Why use <span class="font-scim">SCIM</span> Verify?
10+
11+
When implementing a SCIM service provider, it's crucial to validate that your API adheres to the SCIM protocol specifications. SCIM Verify provides a straightforward way to:
12+
13+
- Test your SCIM endpoints
14+
- Verify protocol compliance
15+
- Ensure proper handling of SCIM operations
16+
- Identify potential issues before deployment
17+
18+
## How it works
19+
20+
Simply connect SCIM Verify to your running SCIM API by providing your endpoint URL and authentication credentials. The tool will execute a series of tests against your API and provide detailed feedback on compliance and functionality.

site/docs/docs/index.md

Lines changed: 351 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,351 @@
1+
# Documentation
2+
3+
SCIM Verify is a highly configurable testing framework for SCIM APIs. While it works out-of-the-box with sensible defaults, you can customize its behavior extensively through a YAML configuration file to match your specific implementation requirements. This documentation explains all available configuration options.
4+
5+
## Global Configuration
6+
7+
The global configuration settings control the overall behavior of the testing framework.
8+
9+
```yaml
10+
detectSchema: true # Enables automatic schema detection from responses
11+
detectResourceTypes: true # Enables automatic resource type detection
12+
```
13+
14+
## User Operations
15+
16+
Configuration for testing the Users endpoint in a SCIM API.
17+
18+
```yaml
19+
users:
20+
enabled: true # Enable testing of user operations
21+
operations: # HTTP methods to test
22+
- GET
23+
- POST
24+
- PUT
25+
- PATCH
26+
- DELETE
27+
sortAttributes: # Attributes to sort by when retrieving users
28+
- userName
29+
```
30+
31+
### Filter Tests
32+
33+
Tests for filtering users using SCIM filter expressions.
34+
35+
```yaml
36+
filter_tests:
37+
- filter: userName eq "bjensen" # Filter expression to test
38+
user_schema: # Schema to validate response against
39+
type: object
40+
properties:
41+
schemas:
42+
type: array
43+
items:
44+
type: string
45+
contains:
46+
const: urn:ietf:params:scim:schemas:core:2.0:User
47+
userName:
48+
type: string
49+
const: bjensen
50+
required:
51+
- userName
52+
- schemas
53+
additionalProperties: true
54+
```
55+
56+
### POST Tests
57+
58+
Tests for creating users via POST requests.
59+
60+
```yaml
61+
post_tests:
62+
- request: # Request payload
63+
schemas:
64+
- urn:ietf:params:scim:schemas:core:2.0:User
65+
userName: barbara jensen
66+
emails:
67+
68+
response: # Expected response schema
69+
type: object
70+
properties:
71+
schemas:
72+
type: array
73+
items:
74+
type: string
75+
contains:
76+
const: urn:ietf:params:scim:schemas:core:2.0:User
77+
userName:
78+
type: string
79+
const: barbara jensen
80+
required:
81+
- userName
82+
- schemas
83+
additionalProperties: true
84+
- request: # Another test case
85+
schemas:
86+
- urn:ietf:params:scim:schemas:core:2.0:User
87+
userName: testuser6238
88+
emails:
89+
90+
response:
91+
type: object
92+
properties:
93+
schemas:
94+
type: array
95+
items:
96+
type: string
97+
contains:
98+
const: urn:ietf:params:scim:schemas:core:2.0:User
99+
userName:
100+
type: string
101+
const: testuser6238
102+
emails:
103+
type: array
104+
items:
105+
type: object
106+
properties:
107+
value:
108+
type: string
109+
110+
required:
111+
- userName
112+
- schemas
113+
- emails
114+
additionalProperties: true
115+
```
116+
117+
### PUT Tests
118+
119+
Tests for updating users via PUT requests.
120+
121+
```yaml
122+
put_tests:
123+
- id: AUTO # AUTO indicates ID will be determined at runtime
124+
request:
125+
schemas:
126+
- urn:ietf:params:scim:schemas:core:2.0:User
127+
userName: testuser6238
128+
emails:
129+
130+
response:
131+
type: object
132+
properties:
133+
schemas:
134+
type: array
135+
items:
136+
type: string
137+
contains:
138+
const: urn:ietf:params:scim:schemas:core:2.0:User
139+
userName:
140+
type: string
141+
const: testuser6238
142+
emails:
143+
type: array
144+
items:
145+
type: object
146+
properties:
147+
value:
148+
type: string
149+
150+
required:
151+
- userName
152+
- schemas
153+
- emails
154+
additionalProperties: true
155+
```
156+
157+
### PATCH Tests
158+
159+
Tests for partial updates via PATCH requests.
160+
161+
```yaml
162+
patch_tests:
163+
- id: AUTO
164+
request:
165+
schemas:
166+
- urn:ietf:params:scim:api:messages:2.0:PatchOp
167+
Operations:
168+
- op: replace
169+
path: userName
170+
value: JohnDoe
171+
response:
172+
type: object
173+
properties:
174+
schemas:
175+
type: array
176+
items:
177+
type: string
178+
contains:
179+
const: urn:ietf:params:scim:schemas:core:2.0:User
180+
userName:
181+
type: string
182+
const: JohnDoe
183+
required:
184+
- userName
185+
- schemas
186+
additionalProperties: true
187+
```
188+
189+
### DELETE Tests
190+
191+
Tests for deleting users.
192+
193+
```yaml
194+
delete_tests:
195+
- id: AUTO # AUTO indicates ID will be determined at runtime
196+
```
197+
198+
## Group Operations
199+
200+
Configuration for testing the Groups endpoint in a SCIM API.
201+
202+
```yaml
203+
groups:
204+
enabled: true # Enable testing of group operations
205+
operations: # HTTP methods to test
206+
- GET
207+
- POST
208+
- PUT
209+
- PATCH
210+
- DELETE
211+
sortAttributes: # Attributes to sort by when retrieving groups
212+
- displayName
213+
```
214+
215+
### Group POST Tests
216+
217+
Tests for creating groups via POST requests.
218+
219+
```yaml
220+
post_tests:
221+
- request:
222+
schemas:
223+
- urn:ietf:params:scim:schemas:core:2.0:Group
224+
displayName: TestGroup
225+
response:
226+
type: object
227+
properties:
228+
schemas:
229+
type: array
230+
items:
231+
type: string
232+
contains:
233+
const: urn:ietf:params:scim:schemas:core:2.0:Group
234+
displayName:
235+
type: string
236+
const: TestGroup
237+
required:
238+
- displayName
239+
- schemas
240+
additionalProperties: true
241+
- request: # Group with members
242+
schemas:
243+
- urn:ietf:params:scim:schemas:core:2.0:Group
244+
displayName: Engineering
245+
members:
246+
- value: AUTO # Member ID will be determined at runtime
247+
response:
248+
type: object
249+
properties:
250+
schemas:
251+
type: array
252+
items:
253+
type: string
254+
contains:
255+
const: urn:ietf:params:scim:schemas:core:2.0:Group
256+
displayName:
257+
type: string
258+
const: Engineering
259+
members:
260+
type: array
261+
items:
262+
type: object
263+
properties:
264+
value:
265+
type: string
266+
required:
267+
- displayName
268+
- schemas
269+
- members
270+
additionalProperties: true
271+
```
272+
273+
### Group PUT Tests
274+
275+
Tests for updating groups via PUT requests.
276+
277+
```yaml
278+
put_tests:
279+
- id: AUTO
280+
request:
281+
schemas:
282+
- urn:ietf:params:scim:schemas:core:2.0:Group
283+
displayName: UpdatedGroup
284+
members:
285+
- value: AUTO
286+
response:
287+
type: object
288+
properties:
289+
schemas:
290+
type: array
291+
items:
292+
type: string
293+
contains:
294+
const: urn:ietf:params:scim:schemas:core:2.0:Group
295+
displayName:
296+
type: string
297+
const: UpdatedGroup
298+
members:
299+
type: array
300+
items:
301+
type: object
302+
properties:
303+
value:
304+
type: string
305+
required:
306+
- displayName
307+
- schemas
308+
- members
309+
additionalProperties: true
310+
```
311+
312+
### Group PATCH Tests
313+
314+
Tests for partial updates to groups via PATCH requests.
315+
316+
```yaml
317+
patch_tests:
318+
- id: AUTO
319+
request:
320+
schemas:
321+
- urn:ietf:params:scim:api:messages:2.0:PatchOp
322+
Operations:
323+
- op: replace
324+
path: displayName
325+
value: NewGroupName
326+
response:
327+
type: object
328+
properties:
329+
schemas:
330+
type: array
331+
items:
332+
type: string
333+
contains:
334+
const: urn:ietf:params:scim:schemas:core:2.0:Group
335+
displayName:
336+
type: string
337+
const: NewGroupName
338+
required:
339+
- displayName
340+
- schemas
341+
additionalProperties: true
342+
```
343+
344+
### Group DELETE Tests
345+
346+
Tests for deleting groups.
347+
348+
```yaml
349+
delete_tests:
350+
- id: AUTO # AUTO indicates ID will be determined at runtime
351+

0 commit comments

Comments
 (0)