@emulators/okta 0.4.0 → 0.4.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.
- package/README.md +98 -0
- package/package.json +2 -2
package/README.md
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# @emulators/okta
|
|
2
|
+
|
|
3
|
+
Okta identity provider emulation with OAuth 2.0 / OIDC, user management, groups, apps, and authorization servers.
|
|
4
|
+
|
|
5
|
+
Part of [emulate](https://github.com/vercel-labs/emulate) — local drop-in replacement services for CI and no-network sandboxes.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @emulators/okta
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Endpoints
|
|
14
|
+
|
|
15
|
+
### OAuth / OIDC
|
|
16
|
+
|
|
17
|
+
Default org server and custom authorization server paths (`/oauth2/:authServerId/...`):
|
|
18
|
+
|
|
19
|
+
- `GET /.well-known/openid-configuration` — OIDC discovery (default)
|
|
20
|
+
- `GET /oauth2/:authServerId/.well-known/openid-configuration` — per-server discovery
|
|
21
|
+
- `GET /oauth2/v1/keys` — JSON Web Key Set (JWKS)
|
|
22
|
+
- `GET /oauth2/v1/authorize` — authorization endpoint
|
|
23
|
+
- `POST /oauth2/v1/token` — token endpoint
|
|
24
|
+
- `GET /oauth2/v1/userinfo` — user info
|
|
25
|
+
- `POST /oauth2/v1/revoke` — token revocation
|
|
26
|
+
- `POST /oauth2/v1/introspect` — token introspection
|
|
27
|
+
- `GET /oauth2/v1/logout` — end session
|
|
28
|
+
|
|
29
|
+
### Users
|
|
30
|
+
- `GET /api/v1/users` — list users
|
|
31
|
+
- `POST /api/v1/users` — create user
|
|
32
|
+
- `GET /api/v1/users/me` — current user (from token)
|
|
33
|
+
- `GET /api/v1/users/:userId` — get user
|
|
34
|
+
- `PUT /api/v1/users/:userId` — replace user
|
|
35
|
+
- `POST /api/v1/users/:userId` — partial update
|
|
36
|
+
- `DELETE /api/v1/users/:userId` — delete user
|
|
37
|
+
- `GET /api/v1/users/:userId/groups` — list user groups
|
|
38
|
+
- `POST /api/v1/users/:userId/lifecycle/activate` — activate
|
|
39
|
+
- `POST /api/v1/users/:userId/lifecycle/deactivate` — deactivate
|
|
40
|
+
- `POST /api/v1/users/:userId/lifecycle/suspend` — suspend
|
|
41
|
+
- `POST /api/v1/users/:userId/lifecycle/unsuspend` — unsuspend
|
|
42
|
+
- `POST /api/v1/users/:userId/lifecycle/reactivate` — reactivate
|
|
43
|
+
|
|
44
|
+
### Groups
|
|
45
|
+
- `GET /api/v1/groups` — list groups
|
|
46
|
+
- `POST /api/v1/groups` — create group
|
|
47
|
+
- `GET /api/v1/groups/:groupId` — get group
|
|
48
|
+
- `PUT /api/v1/groups/:groupId` — update group
|
|
49
|
+
- `DELETE /api/v1/groups/:groupId` — delete group
|
|
50
|
+
- `GET /api/v1/groups/:groupId/users` — list group members
|
|
51
|
+
- `PUT /api/v1/groups/:groupId/users/:userId` — add user to group
|
|
52
|
+
- `DELETE /api/v1/groups/:groupId/users/:userId` — remove user from group
|
|
53
|
+
|
|
54
|
+
### Apps
|
|
55
|
+
- `GET /api/v1/apps` — list apps
|
|
56
|
+
- `POST /api/v1/apps` — create app
|
|
57
|
+
- `GET /api/v1/apps/:appId` — get app
|
|
58
|
+
- `PUT /api/v1/apps/:appId` — update app
|
|
59
|
+
- `DELETE /api/v1/apps/:appId` — delete app
|
|
60
|
+
- `GET /api/v1/apps/:appId/users` — list assigned users
|
|
61
|
+
- `PUT /api/v1/apps/:appId/users/:userId` — assign user
|
|
62
|
+
- `DELETE /api/v1/apps/:appId/users/:userId` — unassign user
|
|
63
|
+
- `POST /api/v1/apps/:appId/lifecycle/activate` — activate app
|
|
64
|
+
- `POST /api/v1/apps/:appId/lifecycle/deactivate` — deactivate app
|
|
65
|
+
|
|
66
|
+
### Authorization Servers
|
|
67
|
+
- `GET /api/v1/authorizationServers` — list
|
|
68
|
+
- `POST /api/v1/authorizationServers` — create
|
|
69
|
+
- `GET /api/v1/authorizationServers/:authServerId` — get
|
|
70
|
+
- `PUT /api/v1/authorizationServers/:authServerId` — update
|
|
71
|
+
- `DELETE /api/v1/authorizationServers/:authServerId` — delete
|
|
72
|
+
- `POST /api/v1/authorizationServers/:authServerId/lifecycle/activate` — activate
|
|
73
|
+
- `POST /api/v1/authorizationServers/:authServerId/lifecycle/deactivate` — deactivate
|
|
74
|
+
|
|
75
|
+
## Seed Configuration
|
|
76
|
+
|
|
77
|
+
```yaml
|
|
78
|
+
okta:
|
|
79
|
+
users:
|
|
80
|
+
- login: testuser@example.com
|
|
81
|
+
email: testuser@example.com
|
|
82
|
+
firstName: Test
|
|
83
|
+
lastName: User
|
|
84
|
+
groups:
|
|
85
|
+
- name: Everyone
|
|
86
|
+
description: All users
|
|
87
|
+
apps:
|
|
88
|
+
- name: My App
|
|
89
|
+
label: My App
|
|
90
|
+
authorization_servers:
|
|
91
|
+
- name: default
|
|
92
|
+
audiences: ["api://default"]
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Links
|
|
96
|
+
|
|
97
|
+
- [Full documentation](https://emulate.dev)
|
|
98
|
+
- [GitHub](https://github.com/vercel-labs/emulate)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@emulators/okta",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"hono": "^4",
|
|
31
31
|
"jose": "^6",
|
|
32
|
-
"@emulators/core": "0.4.
|
|
32
|
+
"@emulators/core": "0.4.1"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"tsup": "^8",
|