@jskit-ai/auth-provider-supabase-core 0.1.16 → 0.1.17
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/package.descriptor.mjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export default Object.freeze({
|
|
2
2
|
"packageVersion": 1,
|
|
3
3
|
"packageId": "@jskit-ai/auth-provider-supabase-core",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.17",
|
|
5
|
+
"kind": "runtime",
|
|
5
6
|
"options": {
|
|
6
7
|
"auth-supabase-url": {
|
|
7
8
|
"required": true,
|
|
@@ -73,8 +74,7 @@ export default Object.freeze({
|
|
|
73
74
|
],
|
|
74
75
|
"containerTokens": {
|
|
75
76
|
"server": [
|
|
76
|
-
"authService"
|
|
77
|
-
"auth.provider.supabase.actionContributor"
|
|
77
|
+
"authService"
|
|
78
78
|
],
|
|
79
79
|
"client": []
|
|
80
80
|
}
|
|
@@ -83,8 +83,8 @@ export default Object.freeze({
|
|
|
83
83
|
"mutations": {
|
|
84
84
|
"dependencies": {
|
|
85
85
|
"runtime": {
|
|
86
|
-
"@jskit-ai/auth-core": "0.1.
|
|
87
|
-
"@jskit-ai/kernel": "0.1.
|
|
86
|
+
"@jskit-ai/auth-core": "0.1.17",
|
|
87
|
+
"@jskit-ai/kernel": "0.1.18",
|
|
88
88
|
"dotenv": "^16.4.5",
|
|
89
89
|
"@supabase/supabase-js": "^2.57.4",
|
|
90
90
|
"jose": "^6.1.0"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jskit-ai/auth-provider-supabase-core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.17",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "node --test"
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
"./client": "./src/client/index.js"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@jskit-ai/auth-core": "0.1.
|
|
16
|
-
"@jskit-ai/kernel": "0.1.
|
|
15
|
+
"@jskit-ai/auth-core": "0.1.17",
|
|
16
|
+
"@jskit-ai/kernel": "0.1.18",
|
|
17
17
|
"jose": "^6.1.0",
|
|
18
18
|
"@supabase/supabase-js": "^2.57.4"
|
|
19
19
|
}
|
|
@@ -1,14 +1,9 @@
|
|
|
1
|
-
import { KERNEL_TOKENS } from "@jskit-ai/kernel/shared/support/tokens";
|
|
2
1
|
import { resolveAllowedOriginsFromSurfaceDefinitions } from "@jskit-ai/kernel/shared/support/returnToPath";
|
|
3
2
|
import { withActionDefaults } from "@jskit-ai/kernel/shared/actions";
|
|
4
3
|
import { createService } from "../lib/service.js";
|
|
5
4
|
import { createStandaloneProfileSyncService } from "../lib/standaloneProfileSyncService.js";
|
|
6
5
|
import { createAuthSessionEventsService } from "../lib/authSessionEventsService.js";
|
|
7
6
|
import { authActions } from "../lib/actions/auth.contributor.js";
|
|
8
|
-
|
|
9
|
-
const AUTH_SESSION_EVENTS_SERVICE_TOKEN = "auth.session.events.service";
|
|
10
|
-
const AUTH_SESSION_CHANGED_EVENT = "auth.session.changed";
|
|
11
|
-
const USERS_BOOTSTRAP_CHANGED_EVENT = "users.bootstrap.changed";
|
|
12
7
|
const AUTH_PROFILE_MODE_STANDALONE = "standalone";
|
|
13
8
|
const AUTH_PROFILE_MODE_USERS = "users";
|
|
14
9
|
const SUPPORTED_AUTH_PROFILE_MODES = Object.freeze([AUTH_PROFILE_MODE_STANDALONE, AUTH_PROFILE_MODE_USERS]);
|
|
@@ -129,11 +124,11 @@ const fallbackStandaloneProfileSyncService = createStandaloneProfileSyncService(
|
|
|
129
124
|
|
|
130
125
|
function resolveCommonDependencies(scope) {
|
|
131
126
|
const dependencies = {};
|
|
132
|
-
if (scope.has(
|
|
133
|
-
dependencies.env = scope.make(
|
|
127
|
+
if (scope.has("jskit.env")) {
|
|
128
|
+
dependencies.env = scope.make("jskit.env");
|
|
134
129
|
}
|
|
135
|
-
if (scope.has(
|
|
136
|
-
dependencies.logger = scope.make(
|
|
130
|
+
if (scope.has("jskit.logger")) {
|
|
131
|
+
dependencies.logger = scope.make("jskit.logger");
|
|
137
132
|
}
|
|
138
133
|
return dependencies;
|
|
139
134
|
}
|
|
@@ -204,7 +199,7 @@ class AuthSupabaseServiceProvider {
|
|
|
204
199
|
}
|
|
205
200
|
|
|
206
201
|
app.service(
|
|
207
|
-
|
|
202
|
+
"auth.session.events.service",
|
|
208
203
|
() => createAuthSessionEventsService(),
|
|
209
204
|
{
|
|
210
205
|
events: {
|
|
@@ -216,7 +211,7 @@ class AuthSupabaseServiceProvider {
|
|
|
216
211
|
operation: "updated",
|
|
217
212
|
entityId: ({ result }) => result?.id,
|
|
218
213
|
realtime: {
|
|
219
|
-
event:
|
|
214
|
+
event: "auth.session.changed",
|
|
220
215
|
audience: "actor_user"
|
|
221
216
|
}
|
|
222
217
|
},
|
|
@@ -227,7 +222,7 @@ class AuthSupabaseServiceProvider {
|
|
|
227
222
|
operation: "updated",
|
|
228
223
|
entityId: ({ result }) => result?.id,
|
|
229
224
|
realtime: {
|
|
230
|
-
event:
|
|
225
|
+
event: "users.bootstrap.changed",
|
|
231
226
|
audience: "actor_user"
|
|
232
227
|
}
|
|
233
228
|
}
|
|
@@ -241,7 +236,7 @@ class AuthSupabaseServiceProvider {
|
|
|
241
236
|
domain: "auth",
|
|
242
237
|
dependencies: {
|
|
243
238
|
authService: "authService",
|
|
244
|
-
authSessionEventsService:
|
|
239
|
+
authSessionEventsService: "auth.session.events.service"
|
|
245
240
|
}
|
|
246
241
|
})
|
|
247
242
|
);
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import assert from "node:assert/strict";
|
|
2
2
|
import test from "node:test";
|
|
3
3
|
import { createApplication } from "@jskit-ai/kernel/_testable";
|
|
4
|
-
import { KERNEL_TOKENS } from "@jskit-ai/kernel/shared/support/tokens";
|
|
5
4
|
import { ActionRuntimeServiceProvider } from "@jskit-ai/kernel/server/actions";
|
|
6
5
|
import { AuthSupabaseServiceProvider } from "../src/server/providers/AuthSupabaseServiceProvider.js";
|
|
7
6
|
|
|
@@ -25,14 +24,14 @@ function createAppConfigFixture() {
|
|
|
25
24
|
test("auth supabase provider registers authService and contributes auth actions in users mode", async () => {
|
|
26
25
|
const app = createApplication();
|
|
27
26
|
app.instance("appConfig", createAppConfigFixture());
|
|
28
|
-
app.instance(
|
|
27
|
+
app.instance("jskit.env", {
|
|
29
28
|
AUTH_SUPABASE_URL: "https://example.supabase.co",
|
|
30
29
|
AUTH_SUPABASE_PUBLISHABLE_KEY: "sb_publishable_test_key",
|
|
31
30
|
AUTH_PROFILE_MODE: "users",
|
|
32
31
|
APP_PUBLIC_URL: "http://localhost:5173",
|
|
33
32
|
NODE_ENV: "test"
|
|
34
33
|
});
|
|
35
|
-
app.instance(
|
|
34
|
+
app.instance("jskit.logger", {
|
|
36
35
|
info() {},
|
|
37
36
|
warn() {},
|
|
38
37
|
error() {},
|
|
@@ -77,14 +76,14 @@ test("auth supabase provider registers authService and contributes auth actions
|
|
|
77
76
|
test("auth supabase provider registers authService in standalone mode without users.profile.sync.service", async () => {
|
|
78
77
|
const app = createApplication();
|
|
79
78
|
app.instance("appConfig", createAppConfigFixture());
|
|
80
|
-
app.instance(
|
|
79
|
+
app.instance("jskit.env", {
|
|
81
80
|
AUTH_SUPABASE_URL: "https://example.supabase.co",
|
|
82
81
|
AUTH_SUPABASE_PUBLISHABLE_KEY: "sb_publishable_test_key",
|
|
83
82
|
AUTH_PROFILE_MODE: "standalone",
|
|
84
83
|
APP_PUBLIC_URL: "http://localhost:5173",
|
|
85
84
|
NODE_ENV: "test"
|
|
86
85
|
});
|
|
87
|
-
app.instance(
|
|
86
|
+
app.instance("jskit.logger", {
|
|
88
87
|
info() {},
|
|
89
88
|
warn() {},
|
|
90
89
|
error() {},
|
|
@@ -105,14 +104,14 @@ test("auth supabase provider registers authService in standalone mode without us
|
|
|
105
104
|
test("auth supabase provider requires users.profile.sync.service when AUTH_PROFILE_MODE=users", async () => {
|
|
106
105
|
const app = createApplication();
|
|
107
106
|
app.instance("appConfig", createAppConfigFixture());
|
|
108
|
-
app.instance(
|
|
107
|
+
app.instance("jskit.env", {
|
|
109
108
|
AUTH_SUPABASE_URL: "https://example.supabase.co",
|
|
110
109
|
AUTH_SUPABASE_PUBLISHABLE_KEY: "sb_publishable_test_key",
|
|
111
110
|
AUTH_PROFILE_MODE: "users",
|
|
112
111
|
APP_PUBLIC_URL: "http://localhost:5173",
|
|
113
112
|
NODE_ENV: "test"
|
|
114
113
|
});
|
|
115
|
-
app.instance(
|
|
114
|
+
app.instance("jskit.logger", {
|
|
116
115
|
info() {},
|
|
117
116
|
warn() {},
|
|
118
117
|
error() {},
|
|
@@ -132,14 +131,14 @@ test("auth supabase provider requires users.profile.sync.service when AUTH_PROFI
|
|
|
132
131
|
test("auth supabase provider rejects unsupported AUTH_PROFILE_MODE values", async () => {
|
|
133
132
|
const app = createApplication();
|
|
134
133
|
app.instance("appConfig", createAppConfigFixture());
|
|
135
|
-
app.instance(
|
|
134
|
+
app.instance("jskit.env", {
|
|
136
135
|
AUTH_SUPABASE_URL: "https://example.supabase.co",
|
|
137
136
|
AUTH_SUPABASE_PUBLISHABLE_KEY: "sb_publishable_test_key",
|
|
138
137
|
AUTH_PROFILE_MODE: "invalid",
|
|
139
138
|
APP_PUBLIC_URL: "http://localhost:5173",
|
|
140
139
|
NODE_ENV: "test"
|
|
141
140
|
});
|
|
142
|
-
app.instance(
|
|
141
|
+
app.instance("jskit.logger", {
|
|
143
142
|
info() {},
|
|
144
143
|
warn() {},
|
|
145
144
|
error() {},
|
|
@@ -167,14 +166,14 @@ test("auth supabase provider reads oauth providers from appConfig.auth.oauth", a
|
|
|
167
166
|
}
|
|
168
167
|
}
|
|
169
168
|
});
|
|
170
|
-
app.instance(
|
|
169
|
+
app.instance("jskit.env", {
|
|
171
170
|
AUTH_SUPABASE_URL: "https://example.supabase.co",
|
|
172
171
|
AUTH_SUPABASE_PUBLISHABLE_KEY: "sb_publishable_test_key",
|
|
173
172
|
AUTH_PROFILE_MODE: "standalone",
|
|
174
173
|
APP_PUBLIC_URL: "http://localhost:5173",
|
|
175
174
|
NODE_ENV: "test"
|
|
176
175
|
});
|
|
177
|
-
app.instance(
|
|
176
|
+
app.instance("jskit.logger", {
|
|
178
177
|
info() {},
|
|
179
178
|
warn() {},
|
|
180
179
|
error() {},
|
|
@@ -205,7 +204,7 @@ test("auth supabase provider lets env oauth settings override appConfig.auth.oau
|
|
|
205
204
|
}
|
|
206
205
|
}
|
|
207
206
|
});
|
|
208
|
-
app.instance(
|
|
207
|
+
app.instance("jskit.env", {
|
|
209
208
|
AUTH_SUPABASE_URL: "https://example.supabase.co",
|
|
210
209
|
AUTH_SUPABASE_PUBLISHABLE_KEY: "sb_publishable_test_key",
|
|
211
210
|
AUTH_OAUTH_PROVIDERS: "google",
|
|
@@ -214,7 +213,7 @@ test("auth supabase provider lets env oauth settings override appConfig.auth.oau
|
|
|
214
213
|
APP_PUBLIC_URL: "http://localhost:5173",
|
|
215
214
|
NODE_ENV: "test"
|
|
216
215
|
});
|
|
217
|
-
app.instance(
|
|
216
|
+
app.instance("jskit.logger", {
|
|
218
217
|
info() {},
|
|
219
218
|
warn() {},
|
|
220
219
|
error() {},
|