@jskit-ai/auth-provider-supabase-core 0.1.21 → 0.1.23
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,7 @@
|
|
|
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.23",
|
|
5
5
|
"kind": "runtime",
|
|
6
6
|
"options": {
|
|
7
7
|
"auth-supabase-url": {
|
|
@@ -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.23",
|
|
87
|
+
"@jskit-ai/kernel": "0.1.24",
|
|
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.23",
|
|
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.23",
|
|
16
|
+
"@jskit-ai/kernel": "0.1.24",
|
|
17
17
|
"jose": "^6.1.0",
|
|
18
18
|
"@supabase/supabase-js": "^2.57.4"
|
|
19
19
|
}
|
|
@@ -399,15 +399,15 @@ function createService(options) {
|
|
|
399
399
|
const authProvider = normalizeAuthProviderId(source.authProvider || authProviderId, {
|
|
400
400
|
fallback: authProviderId
|
|
401
401
|
});
|
|
402
|
-
const
|
|
402
|
+
const authProviderUserSid = normalizeProviderUserId(source.authProviderUserSid);
|
|
403
403
|
|
|
404
|
-
if (!
|
|
404
|
+
if (!authProviderUserSid) {
|
|
405
405
|
throw new TypeError("Profile identity is missing required fields.");
|
|
406
406
|
}
|
|
407
407
|
|
|
408
408
|
return {
|
|
409
409
|
authProvider,
|
|
410
|
-
|
|
410
|
+
authProviderUserSid
|
|
411
411
|
};
|
|
412
412
|
}
|
|
413
413
|
|
|
@@ -423,7 +423,7 @@ function createService(options) {
|
|
|
423
423
|
|
|
424
424
|
return {
|
|
425
425
|
authProvider: identity.authProvider,
|
|
426
|
-
|
|
426
|
+
authProviderUserSid: identity.authProviderUserSid,
|
|
427
427
|
email,
|
|
428
428
|
displayName
|
|
429
429
|
};
|
|
@@ -434,7 +434,7 @@ function createService(options) {
|
|
|
434
434
|
return userProfileSyncService.findByIdentity(
|
|
435
435
|
{
|
|
436
436
|
authProvider: normalized.authProvider,
|
|
437
|
-
|
|
437
|
+
authProviderUserSid: normalized.authProviderUserSid
|
|
438
438
|
},
|
|
439
439
|
options
|
|
440
440
|
);
|
|
@@ -474,7 +474,7 @@ function createService(options) {
|
|
|
474
474
|
|
|
475
475
|
return syncProfileMirror({
|
|
476
476
|
authProvider: authProviderId,
|
|
477
|
-
|
|
477
|
+
authProviderUserSid: supabaseUserId,
|
|
478
478
|
email,
|
|
479
479
|
displayName: resolveDisplayName(supabaseUser, email)
|
|
480
480
|
});
|
|
@@ -488,7 +488,7 @@ function createService(options) {
|
|
|
488
488
|
|
|
489
489
|
const existing = await findProfileByIdentity({
|
|
490
490
|
authProvider: authProviderId,
|
|
491
|
-
|
|
491
|
+
authProviderUserSid: supabaseUserId
|
|
492
492
|
});
|
|
493
493
|
const emailFromToken = normalizeEmail(claims?.email || "");
|
|
494
494
|
|
|
@@ -501,7 +501,7 @@ function createService(options) {
|
|
|
501
501
|
|
|
502
502
|
return syncProfileMirror({
|
|
503
503
|
authProvider: authProviderId,
|
|
504
|
-
|
|
504
|
+
authProviderUserSid: supabaseUserId,
|
|
505
505
|
email: emailFromToken,
|
|
506
506
|
displayName: resolveDisplayNameFromClaims(claims, emailFromToken)
|
|
507
507
|
});
|
|
@@ -2,20 +2,20 @@ import { normalizeLowerText, normalizeText } from "@jskit-ai/kernel/shared/actio
|
|
|
2
2
|
|
|
3
3
|
const USER_PROFILE_EMAIL_CONFLICT_CODE = "USER_PROFILE_EMAIL_CONFLICT";
|
|
4
4
|
|
|
5
|
-
function buildIdentityKey({ authProvider,
|
|
6
|
-
return `${normalizeLowerText(authProvider)}:${normalizeText(
|
|
5
|
+
function buildIdentityKey({ authProvider, authProviderUserSid } = {}) {
|
|
6
|
+
return `${normalizeLowerText(authProvider)}:${normalizeText(authProviderUserSid)}`;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
function normalizeIdentity(identityLike) {
|
|
10
10
|
const source = identityLike && typeof identityLike === "object" ? identityLike : {};
|
|
11
11
|
const authProvider = normalizeLowerText(source.authProvider || source.provider);
|
|
12
|
-
const
|
|
13
|
-
if (!authProvider || !
|
|
14
|
-
throw new TypeError("Standalone profile sync requires authProvider and
|
|
12
|
+
const authProviderUserSid = normalizeText(source.authProviderUserSid || source.providerUserId);
|
|
13
|
+
if (!authProvider || !authProviderUserSid) {
|
|
14
|
+
throw new TypeError("Standalone profile sync requires authProvider and authProviderUserSid.");
|
|
15
15
|
}
|
|
16
16
|
return {
|
|
17
17
|
authProvider,
|
|
18
|
-
|
|
18
|
+
authProviderUserSid
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
21
|
|
|
@@ -29,7 +29,7 @@ function normalizeProfile(profileLike) {
|
|
|
29
29
|
}
|
|
30
30
|
return {
|
|
31
31
|
authProvider: identity.authProvider,
|
|
32
|
-
|
|
32
|
+
authProviderUserSid: identity.authProviderUserSid,
|
|
33
33
|
email,
|
|
34
34
|
displayName
|
|
35
35
|
};
|
|
@@ -68,7 +68,7 @@ function createStandaloneProfileSyncService() {
|
|
|
68
68
|
const next = {
|
|
69
69
|
id: Number(existing?.id || nextId++),
|
|
70
70
|
authProvider: normalizedProfile.authProvider,
|
|
71
|
-
|
|
71
|
+
authProviderUserSid: normalizedProfile.authProviderUserSid,
|
|
72
72
|
email: normalizedProfile.email,
|
|
73
73
|
displayName: normalizedProfile.displayName
|
|
74
74
|
};
|
|
@@ -48,7 +48,7 @@ test("auth supabase provider registers authService and contributes auth actions
|
|
|
48
48
|
return {
|
|
49
49
|
id: 1,
|
|
50
50
|
authProvider: String(profile?.authProvider || "supabase"),
|
|
51
|
-
|
|
51
|
+
authProviderUserSid: String(profile?.authProviderUserSid || "user-1"),
|
|
52
52
|
email: String(profile?.email || "test@example.com"),
|
|
53
53
|
displayName: String(profile?.displayName || "Test User")
|
|
54
54
|
};
|