@sublay/core 7.0.4 → 7.1.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/cjs/hooks/auth/oauthCore.d.ts +70 -0
- package/dist/cjs/hooks/auth/oauthCore.js +113 -0
- package/dist/cjs/hooks/auth/oauthCore.js.map +1 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +11 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/hooks/auth/oauthCore.d.ts +70 -0
- package/dist/esm/hooks/auth/oauthCore.js +107 -0
- package/dist/esm/hooks/auth/oauthCore.js.map +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { AppDispatch } from "../../store/types";
|
|
2
|
+
/**
|
|
3
|
+
* Platform-agnostic OAuth helpers shared by the web (`@sublay/react-js`) and
|
|
4
|
+
* Expo (`@sublay/expo`) `useOAuthSignIn` hooks.
|
|
5
|
+
*
|
|
6
|
+
* These helpers deliberately contain NO browser/DOM globals (`window`,
|
|
7
|
+
* `document`, `localStorage`) and NO React Native globals, so the same code
|
|
8
|
+
* path runs on every platform. Each platform owns only its own I/O: obtaining
|
|
9
|
+
* the redirect URL (web reads `window.location`, Expo opens a web-browser auth
|
|
10
|
+
* session) and any navigation/URL cleanup.
|
|
11
|
+
*/
|
|
12
|
+
export declare const OAUTH_BASE_URL = "https://api.sublay.io/v7";
|
|
13
|
+
/**
|
|
14
|
+
* Server-call head: POST to `/{projectId}/oauth/{authorize|link}` and return the
|
|
15
|
+
* provider `authorizationUrl`.
|
|
16
|
+
*
|
|
17
|
+
* - `authorize` is unauthenticated; `link` requires the caller's access token,
|
|
18
|
+
* passed via `accessToken` (sent as a Bearer header only when present).
|
|
19
|
+
* - Throws an `Error` carrying the server's `error` body on a non-ok response.
|
|
20
|
+
*/
|
|
21
|
+
export declare function requestOAuthAuthorizationUrl({ projectId, endpoint, provider, redirectAfterAuth, accessToken, baseUrl, }: {
|
|
22
|
+
projectId: string;
|
|
23
|
+
endpoint: "authorize" | "link";
|
|
24
|
+
provider: string;
|
|
25
|
+
redirectAfterAuth: string;
|
|
26
|
+
/** Required for `link`, omitted for `authorize`. */
|
|
27
|
+
accessToken?: string | null;
|
|
28
|
+
baseUrl?: string;
|
|
29
|
+
}): Promise<string>;
|
|
30
|
+
export interface OAuthRedirectParams {
|
|
31
|
+
accessToken: string | null;
|
|
32
|
+
refreshToken: string | null;
|
|
33
|
+
error: string | null;
|
|
34
|
+
errorDescription: string | null;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Tolerantly parse a redirect URL string into OAuth params.
|
|
38
|
+
*
|
|
39
|
+
* The Sublay OAuth callback carries tokens in the URL **fragment**
|
|
40
|
+
* (`#accessToken=...&refreshToken=...`) and errors in the **query**
|
|
41
|
+
* (`?error=...&error_description=...`). This splits the string by hand rather
|
|
42
|
+
* than relying on `new URL().hash`, whose fragment handling is unreliable under
|
|
43
|
+
* React Native's URL polyfill — exactly where the tokens live.
|
|
44
|
+
*/
|
|
45
|
+
export declare function parseOAuthRedirectUrl(url: string): OAuthRedirectParams;
|
|
46
|
+
export interface HandleOAuthRedirectResult {
|
|
47
|
+
/** True when tokens were found and dispatched. */
|
|
48
|
+
success: boolean;
|
|
49
|
+
/** A human-readable error message when the redirect carried an `?error=`. */
|
|
50
|
+
error: string | null;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Token-handling tail: given a redirect URL **string**, extract the tokens /
|
|
54
|
+
* error and, on success, perform the same Redux dispatches the web hook has
|
|
55
|
+
* always done (`setTokens` → `setInitialized` → `requestNewAccessTokenThunk`).
|
|
56
|
+
*
|
|
57
|
+
* Pure of any I/O beyond dispatching: it does not read globals, navigate, or
|
|
58
|
+
* clean the URL — the caller owns that. Accepts a URL string (or pre-parsed
|
|
59
|
+
* `params`, e.g. from `expo-linking`) so any platform can feed it whatever it
|
|
60
|
+
* obtained however it likes.
|
|
61
|
+
*
|
|
62
|
+
* Returns `{ success, error }` instead of throwing so callers can drive their
|
|
63
|
+
* own loading/error UI state.
|
|
64
|
+
*/
|
|
65
|
+
export declare function handleOAuthRedirect({ dispatch, projectId, url, params, }: {
|
|
66
|
+
dispatch: AppDispatch;
|
|
67
|
+
projectId: string | null | undefined;
|
|
68
|
+
url?: string;
|
|
69
|
+
params?: OAuthRedirectParams;
|
|
70
|
+
}): HandleOAuthRedirectResult;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OAUTH_BASE_URL = void 0;
|
|
4
|
+
exports.requestOAuthAuthorizationUrl = requestOAuthAuthorizationUrl;
|
|
5
|
+
exports.parseOAuthRedirectUrl = parseOAuthRedirectUrl;
|
|
6
|
+
exports.handleOAuthRedirect = handleOAuthRedirect;
|
|
7
|
+
const authSlice_1 = require("../../store/slices/authSlice");
|
|
8
|
+
const authThunks_1 = require("../../store/slices/authThunks");
|
|
9
|
+
/**
|
|
10
|
+
* Platform-agnostic OAuth helpers shared by the web (`@sublay/react-js`) and
|
|
11
|
+
* Expo (`@sublay/expo`) `useOAuthSignIn` hooks.
|
|
12
|
+
*
|
|
13
|
+
* These helpers deliberately contain NO browser/DOM globals (`window`,
|
|
14
|
+
* `document`, `localStorage`) and NO React Native globals, so the same code
|
|
15
|
+
* path runs on every platform. Each platform owns only its own I/O: obtaining
|
|
16
|
+
* the redirect URL (web reads `window.location`, Expo opens a web-browser auth
|
|
17
|
+
* session) and any navigation/URL cleanup.
|
|
18
|
+
*/
|
|
19
|
+
// Single source of truth for the API base URL. Matches the web hook's prior
|
|
20
|
+
// hardcoded value exactly — do NOT swap in `getApiBaseUrl()`, which is
|
|
21
|
+
// env-aware and would diverge from the web hook's production-only behavior.
|
|
22
|
+
exports.OAUTH_BASE_URL = "https://api.sublay.io/v7";
|
|
23
|
+
/**
|
|
24
|
+
* Server-call head: POST to `/{projectId}/oauth/{authorize|link}` and return the
|
|
25
|
+
* provider `authorizationUrl`.
|
|
26
|
+
*
|
|
27
|
+
* - `authorize` is unauthenticated; `link` requires the caller's access token,
|
|
28
|
+
* passed via `accessToken` (sent as a Bearer header only when present).
|
|
29
|
+
* - Throws an `Error` carrying the server's `error` body on a non-ok response.
|
|
30
|
+
*/
|
|
31
|
+
async function requestOAuthAuthorizationUrl({ projectId, endpoint, provider, redirectAfterAuth, accessToken, baseUrl = exports.OAUTH_BASE_URL, }) {
|
|
32
|
+
const headers = {
|
|
33
|
+
"Content-Type": "application/json",
|
|
34
|
+
};
|
|
35
|
+
if (accessToken) {
|
|
36
|
+
headers["Authorization"] = `Bearer ${accessToken}`;
|
|
37
|
+
}
|
|
38
|
+
const response = await fetch(`${baseUrl}/${projectId}/oauth/${endpoint}`, {
|
|
39
|
+
method: "POST",
|
|
40
|
+
headers,
|
|
41
|
+
body: JSON.stringify({ provider, redirectAfterAuth }),
|
|
42
|
+
});
|
|
43
|
+
if (!response.ok) {
|
|
44
|
+
const data = await response.json();
|
|
45
|
+
throw new Error(data.error || "Failed to initiate OAuth");
|
|
46
|
+
}
|
|
47
|
+
const data = await response.json();
|
|
48
|
+
return data.authorizationUrl;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Tolerantly parse a redirect URL string into OAuth params.
|
|
52
|
+
*
|
|
53
|
+
* The Sublay OAuth callback carries tokens in the URL **fragment**
|
|
54
|
+
* (`#accessToken=...&refreshToken=...`) and errors in the **query**
|
|
55
|
+
* (`?error=...&error_description=...`). This splits the string by hand rather
|
|
56
|
+
* than relying on `new URL().hash`, whose fragment handling is unreliable under
|
|
57
|
+
* React Native's URL polyfill — exactly where the tokens live.
|
|
58
|
+
*/
|
|
59
|
+
function parseOAuthRedirectUrl(url) {
|
|
60
|
+
const hashIndex = url.indexOf("#");
|
|
61
|
+
const fragment = hashIndex >= 0 ? url.substring(hashIndex + 1) : "";
|
|
62
|
+
const beforeHash = hashIndex >= 0 ? url.substring(0, hashIndex) : url;
|
|
63
|
+
const queryIndex = beforeHash.indexOf("?");
|
|
64
|
+
const query = queryIndex >= 0 ? beforeHash.substring(queryIndex + 1) : "";
|
|
65
|
+
const fragmentParams = new URLSearchParams(fragment);
|
|
66
|
+
const queryParams = new URLSearchParams(query);
|
|
67
|
+
return {
|
|
68
|
+
accessToken: fragmentParams.get("accessToken"),
|
|
69
|
+
refreshToken: fragmentParams.get("refreshToken"),
|
|
70
|
+
error: queryParams.get("error"),
|
|
71
|
+
errorDescription: queryParams.get("error_description"),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Token-handling tail: given a redirect URL **string**, extract the tokens /
|
|
76
|
+
* error and, on success, perform the same Redux dispatches the web hook has
|
|
77
|
+
* always done (`setTokens` → `setInitialized` → `requestNewAccessTokenThunk`).
|
|
78
|
+
*
|
|
79
|
+
* Pure of any I/O beyond dispatching: it does not read globals, navigate, or
|
|
80
|
+
* clean the URL — the caller owns that. Accepts a URL string (or pre-parsed
|
|
81
|
+
* `params`, e.g. from `expo-linking`) so any platform can feed it whatever it
|
|
82
|
+
* obtained however it likes.
|
|
83
|
+
*
|
|
84
|
+
* Returns `{ success, error }` instead of throwing so callers can drive their
|
|
85
|
+
* own loading/error UI state.
|
|
86
|
+
*/
|
|
87
|
+
function handleOAuthRedirect({ dispatch, projectId, url, params, }) {
|
|
88
|
+
const parsed = params ?? (url != null ? parseOAuthRedirectUrl(url) : null);
|
|
89
|
+
if (!parsed) {
|
|
90
|
+
return { success: false, error: null };
|
|
91
|
+
}
|
|
92
|
+
// Errors arrive in the query string. Surface them without dispatching.
|
|
93
|
+
if (parsed.error) {
|
|
94
|
+
return { success: false, error: parsed.errorDescription || parsed.error };
|
|
95
|
+
}
|
|
96
|
+
// Tokens arrive in the fragment. Only dispatch when both are present.
|
|
97
|
+
if (parsed.accessToken && parsed.refreshToken) {
|
|
98
|
+
dispatch((0, authSlice_1.setTokens)({
|
|
99
|
+
accessToken: parsed.accessToken,
|
|
100
|
+
refreshToken: parsed.refreshToken,
|
|
101
|
+
}));
|
|
102
|
+
dispatch((0, authSlice_1.setInitialized)(true));
|
|
103
|
+
// Fetch the user profile so `useAccountSync` can persist the account. The
|
|
104
|
+
// thunk reads the just-set refresh token from Redux, calls the server, and
|
|
105
|
+
// dispatches setUser + setUserInUserSlice on success.
|
|
106
|
+
if (projectId) {
|
|
107
|
+
dispatch((0, authThunks_1.requestNewAccessTokenThunk)({ projectId }));
|
|
108
|
+
}
|
|
109
|
+
return { success: true, error: null };
|
|
110
|
+
}
|
|
111
|
+
return { success: false, error: null };
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=oauthCore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauthCore.js","sourceRoot":"","sources":["../../../../src/hooks/auth/oauthCore.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export { useSignTestingJwt, type SignTestingJwtProps } from "./hooks/crypto";
|
|
|
13
13
|
export { useAuth, useRequestPasswordReset, useSendVerificationEmail, useVerifyEmail, type UseAuthValues, type SignUpWithEmailAndPasswordProps, type SignInWithEmailAndPasswordProps, type ChangePasswordProps, type RequestPasswordResetProps, type SendVerificationEmailProps, type VerifyEmailProps, } from "./hooks/auth";
|
|
14
14
|
export { useAccountSync, useAccounts, useSwitchAccount, useAddAccount, useRemoveAccount, useSignOutAll, type UseAccountsReturn, type UseSwitchAccountReturn, type UseAddAccountReturn, type UseRemoveAccountReturn, type UseSignOutAllReturn, } from "./hooks/auth";
|
|
15
15
|
export { useOAuthIdentities, type OAuthIdentity, type UseOAuthIdentitiesReturn, } from "./hooks/auth";
|
|
16
|
+
export { OAUTH_BASE_URL, requestOAuthAuthorizationUrl, parseOAuthRedirectUrl, handleOAuthRedirect, type OAuthRedirectParams, type HandleOAuthRedirectResult, } from "./hooks/auth/oauthCore";
|
|
16
17
|
export { useSublayDispatch, useSublaySelector } from "./store/hooks";
|
|
17
18
|
export { setTokens, setInitialized, selectAccessToken, } from "./store/slices/authSlice";
|
|
18
19
|
export { requestNewAccessTokenThunk } from "./store/slices/authThunks";
|
package/dist/cjs/index.js
CHANGED
|
@@ -36,11 +36,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.
|
|
40
|
-
exports.
|
|
41
|
-
exports.
|
|
42
|
-
exports.
|
|
43
|
-
exports.selectSocketConnected = exports.selectTypingUsers = exports.selectThreadHasMore = exports.selectThreadLoading = exports.selectThreadReplies = exports.selectNewestMessageId = exports.selectOldestMessageId = exports.selectMessagesHasMore = exports.selectMessagesLoading = exports.selectMessages = exports.selectConversationListCursor = exports.selectConversationListHasMore = exports.selectConversationListLoading = exports.selectConversationList = exports.selectConversationLoading = exports.selectConversation = exports.setSocketConnected = exports.setTypingUsers = exports.setThreadLoading = exports.setThreadReplies = exports.updateReactions = exports.removeMessage = exports.failOptimisticMessage = exports.addOptimisticMessage = exports.upsertMessage = exports.setMessagesHasMore = exports.setMessagesLoading = void 0;
|
|
39
|
+
exports.MAX_ACCOUNTS = exports.requestNewAccessTokenThunk = exports.selectAccessToken = exports.setInitialized = exports.setTokens = exports.useSublaySelector = exports.useSublayDispatch = exports.handleOAuthRedirect = exports.parseOAuthRedirectUrl = exports.requestOAuthAuthorizationUrl = exports.OAUTH_BASE_URL = exports.useOAuthIdentities = exports.useSignOutAll = exports.useRemoveAccount = exports.useAddAccount = exports.useSwitchAccount = exports.useAccounts = exports.useAccountSync = exports.useVerifyEmail = exports.useSendVerificationEmail = exports.useRequestPasswordReset = exports.useAuth = exports.useSignTestingJwt = exports.useProjectData = exports.useProject = exports.sublayApi = exports.sublayMiddleware = exports.sublayApiReducer = exports.sublayReducers = exports.useMessageThreadContext = exports.useConversationContext = exports.useChatContext = exports.MessageThreadProvider = exports.ConversationProvider = exports.ChatProvider = exports.SpaceProvider = exports.CommentSectionProvider = exports.EntityProvider = exports.SublayIntegrationProvider = exports.SublayProvider = exports.reportReasons = exports.getEnvVar = exports.getApiBaseUrl = exports.isProduction = exports.isDevelopment = exports.getPublicFileUrl = exports.getUserName = exports.safeMergeStyleProps = exports.keywordHelpers = exports.handleError = void 0;
|
|
40
|
+
exports.useFetchDigestConfig = exports.useCheckMyMembership = exports.useSpaceMentions = exports.useSpacePermissions = exports.useModerateSpaceComment = exports.useModerateSpaceEntity = exports.useUnbanMember = exports.useRemoveMember = exports.useDeclineMember = exports.useApproveMember = exports.useUpdateMemberRole = exports.useFetchUserSpaces = exports.useFetchSpaceTeam = exports.useFetchSpaceMembers = exports.useLeaveSpace = exports.useJoinSpace = exports.useDeleteSpace = exports.useUpdateSpace = exports.useCreateSpace = exports.useCheckSlugAvailability = exports.useFetchManySpaces = exports.useFetchSpaceChildren = exports.useFetchSpaceBreadcrumb = exports.useFetchSpaceBySlug = exports.useFetchSpaceByShortId = exports.useFetchSpace = exports.useSpaceData = exports.useSpace = exports.useEntityListActions = exports.useEntityList = exports.useIsEntitySaved = exports.usePublishDraft = exports.useFetchDrafts = exports.useUpdateEntity = exports.useFetchManyEntitiesWrapper = exports.useFetchManyEntities = exports.useFetchEntityByShortId = exports.useFetchEntityByForeignId = exports.useFetchEntity = exports.useDeleteEntity = exports.useCreateEntity = exports.useEntityData = exports.useEntity = exports.useCollectionEntitiesWrapper = exports.useCollectionsActions = exports.useCollections = exports.useAppNotificationsActions = exports.useAppNotifications = exports.useUserActions = exports.useUser = void 0;
|
|
41
|
+
exports.useRemoveConnection = exports.useDeclineConnection = exports.useAcceptConnection = exports.useRequestConnection = exports.useUnfollowUserByUserId = exports.useUnfollowByFollowId = exports.useFollowUser = exports.useFollowManager = exports.useFetchFollowingCountByUserId = exports.useFetchFollowingCount = exports.useFetchFollowingByUserId = exports.useFetchFollowing = exports.useFetchFollowersCountByUserId = exports.useFetchFollowersCount = exports.useFetchFollowersByUserId = exports.useFetchFollowers = exports.useFetchFollowStatus = exports.useUserMentions = exports.useFetchUserSuggestions = exports.useCheckUsernameAvailability = exports.useFetchUserByUsername = exports.useFetchUserByForeignId = exports.useFetchUser = exports.useReactionToggle = exports.useRemoveReaction = exports.useAddReaction = exports.useFetchCommentReactionsWrapper = exports.useFetchEntityReactionsWrapper = exports.useFetchCommentReactions = exports.useFetchEntityReactions = exports.useFetchManyCommentsWrapper = exports.useEntityComments = exports.useDeleteComment = exports.useUpdateComment = exports.useReplies = exports.useFetchCommentByForeignId = exports.useFetchComment = exports.useFetchManyComments = exports.useCreateComment = exports.useCommentSectionData = exports.useCommentSection = exports.useSpaceListActions = exports.useSpaceList = exports.useReorderRules = exports.useFetchManyRules = exports.useFetchRule = exports.useDeleteRule = exports.useUpdateRule = exports.useCreateRule = exports.useUpdateDigestConfig = void 0;
|
|
42
|
+
exports.setConversationListHasMore = exports.setConversationListLoading = exports.setConversationList = exports.setConversationLoading = exports.setConversation = exports.useChatSocket = exports.useTypingIndicator = exports.useConversationData = exports.useReportMessage = exports.useMarkConversationAsRead = exports.useUnreadConversationCount = exports.useTotalUnreadCount = exports.useMessageThread = exports.useToggleReaction = exports.useDeleteMessage = exports.useEditMessage = exports.useSendMessage = exports.useChatMessages = exports.useConversationMembers = exports.useFetchSpaceConversation = exports.useCreateDirectConversation = exports.useDeleteConversation = exports.useUpdateConversation = exports.useFetchConversation = exports.useConversation = exports.useConversations = exports.validateSortType = exports.validateMetadataPropertyName = exports.validateSortBy = exports.AppNotification = exports.useUploadImage = exports.useUploadFile = exports.useAskContent = exports.useSearchSpaces = exports.useSearchUsers = exports.useSearchContent = exports.useGetMetadata = exports.useHandleSpaceCommentReport = exports.useHandleSpaceEntityReport = exports.useFetchModeratedReports = exports.useCreateReport = exports.useConnectionManager = exports.useFetchConnectionsCountByUserId = exports.useFetchConnectionsByUserId = exports.useFetchReceivedPendingConnections = exports.useFetchSentPendingConnections = exports.useFetchConnectionsCount = exports.useRemoveConnectionByUserId = exports.useFetchConnectionStatus = exports.useFetchConnections = void 0;
|
|
43
|
+
exports.selectSocketConnected = exports.selectTypingUsers = exports.selectThreadHasMore = exports.selectThreadLoading = exports.selectThreadReplies = exports.selectNewestMessageId = exports.selectOldestMessageId = exports.selectMessagesHasMore = exports.selectMessagesLoading = exports.selectMessages = exports.selectConversationListCursor = exports.selectConversationListHasMore = exports.selectConversationListLoading = exports.selectConversationList = exports.selectConversationLoading = exports.selectConversation = exports.setSocketConnected = exports.setTypingUsers = exports.setThreadLoading = exports.setThreadReplies = exports.updateReactions = exports.removeMessage = exports.failOptimisticMessage = exports.addOptimisticMessage = exports.upsertMessage = exports.setMessagesHasMore = exports.setMessagesLoading = exports.clearUnread = exports.incrementUnread = exports.upsertConversationPreview = exports.setConversationListCursor = void 0;
|
|
44
44
|
// Helpers & Utilities
|
|
45
45
|
var handleError_1 = require("./utils/handleError");
|
|
46
46
|
Object.defineProperty(exports, "handleError", { enumerable: true, get: function () { return handleError_1.handleError; } });
|
|
@@ -103,6 +103,12 @@ Object.defineProperty(exports, "useSignOutAll", { enumerable: true, get: functio
|
|
|
103
103
|
// -- authentication (OAuth)
|
|
104
104
|
var auth_3 = require("./hooks/auth");
|
|
105
105
|
Object.defineProperty(exports, "useOAuthIdentities", { enumerable: true, get: function () { return auth_3.useOAuthIdentities; } });
|
|
106
|
+
// -- authentication (OAuth shared helpers — consumed by platform hooks)
|
|
107
|
+
var oauthCore_1 = require("./hooks/auth/oauthCore");
|
|
108
|
+
Object.defineProperty(exports, "OAUTH_BASE_URL", { enumerable: true, get: function () { return oauthCore_1.OAUTH_BASE_URL; } });
|
|
109
|
+
Object.defineProperty(exports, "requestOAuthAuthorizationUrl", { enumerable: true, get: function () { return oauthCore_1.requestOAuthAuthorizationUrl; } });
|
|
110
|
+
Object.defineProperty(exports, "parseOAuthRedirectUrl", { enumerable: true, get: function () { return oauthCore_1.parseOAuthRedirectUrl; } });
|
|
111
|
+
Object.defineProperty(exports, "handleOAuthRedirect", { enumerable: true, get: function () { return oauthCore_1.handleOAuthRedirect; } });
|
|
106
112
|
// -- store internals (for platform-specific hooks in react-js / react-native)
|
|
107
113
|
var hooks_1 = require("./store/hooks");
|
|
108
114
|
Object.defineProperty(exports, "useSublayDispatch", { enumerable: true, get: function () { return hooks_1.useSublayDispatch; } });
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { AppDispatch } from "../../store/types";
|
|
2
|
+
/**
|
|
3
|
+
* Platform-agnostic OAuth helpers shared by the web (`@sublay/react-js`) and
|
|
4
|
+
* Expo (`@sublay/expo`) `useOAuthSignIn` hooks.
|
|
5
|
+
*
|
|
6
|
+
* These helpers deliberately contain NO browser/DOM globals (`window`,
|
|
7
|
+
* `document`, `localStorage`) and NO React Native globals, so the same code
|
|
8
|
+
* path runs on every platform. Each platform owns only its own I/O: obtaining
|
|
9
|
+
* the redirect URL (web reads `window.location`, Expo opens a web-browser auth
|
|
10
|
+
* session) and any navigation/URL cleanup.
|
|
11
|
+
*/
|
|
12
|
+
export declare const OAUTH_BASE_URL = "https://api.sublay.io/v7";
|
|
13
|
+
/**
|
|
14
|
+
* Server-call head: POST to `/{projectId}/oauth/{authorize|link}` and return the
|
|
15
|
+
* provider `authorizationUrl`.
|
|
16
|
+
*
|
|
17
|
+
* - `authorize` is unauthenticated; `link` requires the caller's access token,
|
|
18
|
+
* passed via `accessToken` (sent as a Bearer header only when present).
|
|
19
|
+
* - Throws an `Error` carrying the server's `error` body on a non-ok response.
|
|
20
|
+
*/
|
|
21
|
+
export declare function requestOAuthAuthorizationUrl({ projectId, endpoint, provider, redirectAfterAuth, accessToken, baseUrl, }: {
|
|
22
|
+
projectId: string;
|
|
23
|
+
endpoint: "authorize" | "link";
|
|
24
|
+
provider: string;
|
|
25
|
+
redirectAfterAuth: string;
|
|
26
|
+
/** Required for `link`, omitted for `authorize`. */
|
|
27
|
+
accessToken?: string | null;
|
|
28
|
+
baseUrl?: string;
|
|
29
|
+
}): Promise<string>;
|
|
30
|
+
export interface OAuthRedirectParams {
|
|
31
|
+
accessToken: string | null;
|
|
32
|
+
refreshToken: string | null;
|
|
33
|
+
error: string | null;
|
|
34
|
+
errorDescription: string | null;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Tolerantly parse a redirect URL string into OAuth params.
|
|
38
|
+
*
|
|
39
|
+
* The Sublay OAuth callback carries tokens in the URL **fragment**
|
|
40
|
+
* (`#accessToken=...&refreshToken=...`) and errors in the **query**
|
|
41
|
+
* (`?error=...&error_description=...`). This splits the string by hand rather
|
|
42
|
+
* than relying on `new URL().hash`, whose fragment handling is unreliable under
|
|
43
|
+
* React Native's URL polyfill — exactly where the tokens live.
|
|
44
|
+
*/
|
|
45
|
+
export declare function parseOAuthRedirectUrl(url: string): OAuthRedirectParams;
|
|
46
|
+
export interface HandleOAuthRedirectResult {
|
|
47
|
+
/** True when tokens were found and dispatched. */
|
|
48
|
+
success: boolean;
|
|
49
|
+
/** A human-readable error message when the redirect carried an `?error=`. */
|
|
50
|
+
error: string | null;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Token-handling tail: given a redirect URL **string**, extract the tokens /
|
|
54
|
+
* error and, on success, perform the same Redux dispatches the web hook has
|
|
55
|
+
* always done (`setTokens` → `setInitialized` → `requestNewAccessTokenThunk`).
|
|
56
|
+
*
|
|
57
|
+
* Pure of any I/O beyond dispatching: it does not read globals, navigate, or
|
|
58
|
+
* clean the URL — the caller owns that. Accepts a URL string (or pre-parsed
|
|
59
|
+
* `params`, e.g. from `expo-linking`) so any platform can feed it whatever it
|
|
60
|
+
* obtained however it likes.
|
|
61
|
+
*
|
|
62
|
+
* Returns `{ success, error }` instead of throwing so callers can drive their
|
|
63
|
+
* own loading/error UI state.
|
|
64
|
+
*/
|
|
65
|
+
export declare function handleOAuthRedirect({ dispatch, projectId, url, params, }: {
|
|
66
|
+
dispatch: AppDispatch;
|
|
67
|
+
projectId: string | null | undefined;
|
|
68
|
+
url?: string;
|
|
69
|
+
params?: OAuthRedirectParams;
|
|
70
|
+
}): HandleOAuthRedirectResult;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { setTokens, setInitialized } from "../../store/slices/authSlice";
|
|
2
|
+
import { requestNewAccessTokenThunk } from "../../store/slices/authThunks";
|
|
3
|
+
/**
|
|
4
|
+
* Platform-agnostic OAuth helpers shared by the web (`@sublay/react-js`) and
|
|
5
|
+
* Expo (`@sublay/expo`) `useOAuthSignIn` hooks.
|
|
6
|
+
*
|
|
7
|
+
* These helpers deliberately contain NO browser/DOM globals (`window`,
|
|
8
|
+
* `document`, `localStorage`) and NO React Native globals, so the same code
|
|
9
|
+
* path runs on every platform. Each platform owns only its own I/O: obtaining
|
|
10
|
+
* the redirect URL (web reads `window.location`, Expo opens a web-browser auth
|
|
11
|
+
* session) and any navigation/URL cleanup.
|
|
12
|
+
*/
|
|
13
|
+
// Single source of truth for the API base URL. Matches the web hook's prior
|
|
14
|
+
// hardcoded value exactly — do NOT swap in `getApiBaseUrl()`, which is
|
|
15
|
+
// env-aware and would diverge from the web hook's production-only behavior.
|
|
16
|
+
export const OAUTH_BASE_URL = "https://api.sublay.io/v7";
|
|
17
|
+
/**
|
|
18
|
+
* Server-call head: POST to `/{projectId}/oauth/{authorize|link}` and return the
|
|
19
|
+
* provider `authorizationUrl`.
|
|
20
|
+
*
|
|
21
|
+
* - `authorize` is unauthenticated; `link` requires the caller's access token,
|
|
22
|
+
* passed via `accessToken` (sent as a Bearer header only when present).
|
|
23
|
+
* - Throws an `Error` carrying the server's `error` body on a non-ok response.
|
|
24
|
+
*/
|
|
25
|
+
export async function requestOAuthAuthorizationUrl({ projectId, endpoint, provider, redirectAfterAuth, accessToken, baseUrl = OAUTH_BASE_URL, }) {
|
|
26
|
+
const headers = {
|
|
27
|
+
"Content-Type": "application/json",
|
|
28
|
+
};
|
|
29
|
+
if (accessToken) {
|
|
30
|
+
headers["Authorization"] = `Bearer ${accessToken}`;
|
|
31
|
+
}
|
|
32
|
+
const response = await fetch(`${baseUrl}/${projectId}/oauth/${endpoint}`, {
|
|
33
|
+
method: "POST",
|
|
34
|
+
headers,
|
|
35
|
+
body: JSON.stringify({ provider, redirectAfterAuth }),
|
|
36
|
+
});
|
|
37
|
+
if (!response.ok) {
|
|
38
|
+
const data = await response.json();
|
|
39
|
+
throw new Error(data.error || "Failed to initiate OAuth");
|
|
40
|
+
}
|
|
41
|
+
const data = await response.json();
|
|
42
|
+
return data.authorizationUrl;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Tolerantly parse a redirect URL string into OAuth params.
|
|
46
|
+
*
|
|
47
|
+
* The Sublay OAuth callback carries tokens in the URL **fragment**
|
|
48
|
+
* (`#accessToken=...&refreshToken=...`) and errors in the **query**
|
|
49
|
+
* (`?error=...&error_description=...`). This splits the string by hand rather
|
|
50
|
+
* than relying on `new URL().hash`, whose fragment handling is unreliable under
|
|
51
|
+
* React Native's URL polyfill — exactly where the tokens live.
|
|
52
|
+
*/
|
|
53
|
+
export function parseOAuthRedirectUrl(url) {
|
|
54
|
+
const hashIndex = url.indexOf("#");
|
|
55
|
+
const fragment = hashIndex >= 0 ? url.substring(hashIndex + 1) : "";
|
|
56
|
+
const beforeHash = hashIndex >= 0 ? url.substring(0, hashIndex) : url;
|
|
57
|
+
const queryIndex = beforeHash.indexOf("?");
|
|
58
|
+
const query = queryIndex >= 0 ? beforeHash.substring(queryIndex + 1) : "";
|
|
59
|
+
const fragmentParams = new URLSearchParams(fragment);
|
|
60
|
+
const queryParams = new URLSearchParams(query);
|
|
61
|
+
return {
|
|
62
|
+
accessToken: fragmentParams.get("accessToken"),
|
|
63
|
+
refreshToken: fragmentParams.get("refreshToken"),
|
|
64
|
+
error: queryParams.get("error"),
|
|
65
|
+
errorDescription: queryParams.get("error_description"),
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Token-handling tail: given a redirect URL **string**, extract the tokens /
|
|
70
|
+
* error and, on success, perform the same Redux dispatches the web hook has
|
|
71
|
+
* always done (`setTokens` → `setInitialized` → `requestNewAccessTokenThunk`).
|
|
72
|
+
*
|
|
73
|
+
* Pure of any I/O beyond dispatching: it does not read globals, navigate, or
|
|
74
|
+
* clean the URL — the caller owns that. Accepts a URL string (or pre-parsed
|
|
75
|
+
* `params`, e.g. from `expo-linking`) so any platform can feed it whatever it
|
|
76
|
+
* obtained however it likes.
|
|
77
|
+
*
|
|
78
|
+
* Returns `{ success, error }` instead of throwing so callers can drive their
|
|
79
|
+
* own loading/error UI state.
|
|
80
|
+
*/
|
|
81
|
+
export function handleOAuthRedirect({ dispatch, projectId, url, params, }) {
|
|
82
|
+
const parsed = params ?? (url != null ? parseOAuthRedirectUrl(url) : null);
|
|
83
|
+
if (!parsed) {
|
|
84
|
+
return { success: false, error: null };
|
|
85
|
+
}
|
|
86
|
+
// Errors arrive in the query string. Surface them without dispatching.
|
|
87
|
+
if (parsed.error) {
|
|
88
|
+
return { success: false, error: parsed.errorDescription || parsed.error };
|
|
89
|
+
}
|
|
90
|
+
// Tokens arrive in the fragment. Only dispatch when both are present.
|
|
91
|
+
if (parsed.accessToken && parsed.refreshToken) {
|
|
92
|
+
dispatch(setTokens({
|
|
93
|
+
accessToken: parsed.accessToken,
|
|
94
|
+
refreshToken: parsed.refreshToken,
|
|
95
|
+
}));
|
|
96
|
+
dispatch(setInitialized(true));
|
|
97
|
+
// Fetch the user profile so `useAccountSync` can persist the account. The
|
|
98
|
+
// thunk reads the just-set refresh token from Redux, calls the server, and
|
|
99
|
+
// dispatches setUser + setUserInUserSlice on success.
|
|
100
|
+
if (projectId) {
|
|
101
|
+
dispatch(requestNewAccessTokenThunk({ projectId }));
|
|
102
|
+
}
|
|
103
|
+
return { success: true, error: null };
|
|
104
|
+
}
|
|
105
|
+
return { success: false, error: null };
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=oauthCore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauthCore.js","sourceRoot":"","sources":["../../../../src/hooks/auth/oauthCore.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export { useSignTestingJwt, type SignTestingJwtProps } from "./hooks/crypto";
|
|
|
13
13
|
export { useAuth, useRequestPasswordReset, useSendVerificationEmail, useVerifyEmail, type UseAuthValues, type SignUpWithEmailAndPasswordProps, type SignInWithEmailAndPasswordProps, type ChangePasswordProps, type RequestPasswordResetProps, type SendVerificationEmailProps, type VerifyEmailProps, } from "./hooks/auth";
|
|
14
14
|
export { useAccountSync, useAccounts, useSwitchAccount, useAddAccount, useRemoveAccount, useSignOutAll, type UseAccountsReturn, type UseSwitchAccountReturn, type UseAddAccountReturn, type UseRemoveAccountReturn, type UseSignOutAllReturn, } from "./hooks/auth";
|
|
15
15
|
export { useOAuthIdentities, type OAuthIdentity, type UseOAuthIdentitiesReturn, } from "./hooks/auth";
|
|
16
|
+
export { OAUTH_BASE_URL, requestOAuthAuthorizationUrl, parseOAuthRedirectUrl, handleOAuthRedirect, type OAuthRedirectParams, type HandleOAuthRedirectResult, } from "./hooks/auth/oauthCore";
|
|
16
17
|
export { useSublayDispatch, useSublaySelector } from "./store/hooks";
|
|
17
18
|
export { setTokens, setInitialized, selectAccessToken, } from "./store/slices/authSlice";
|
|
18
19
|
export { requestNewAccessTokenThunk } from "./store/slices/authThunks";
|
package/dist/esm/index.js
CHANGED
|
@@ -21,6 +21,8 @@ export { useAuth, useRequestPasswordReset, useSendVerificationEmail, useVerifyEm
|
|
|
21
21
|
export { useAccountSync, useAccounts, useSwitchAccount, useAddAccount, useRemoveAccount, useSignOutAll, } from "./hooks/auth";
|
|
22
22
|
// -- authentication (OAuth)
|
|
23
23
|
export { useOAuthIdentities, } from "./hooks/auth";
|
|
24
|
+
// -- authentication (OAuth shared helpers — consumed by platform hooks)
|
|
25
|
+
export { OAUTH_BASE_URL, requestOAuthAuthorizationUrl, parseOAuthRedirectUrl, handleOAuthRedirect, } from "./hooks/auth/oauthCore";
|
|
24
26
|
// -- store internals (for platform-specific hooks in react-js / react-native)
|
|
25
27
|
export { useSublayDispatch, useSublaySelector } from "./store/hooks";
|
|
26
28
|
export { setTokens, setInitialized, selectAccessToken, } from "./store/slices/authSlice";
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|