From 3286d875e1f43e7350dade88daa984e29e748153 Mon Sep 17 00:00:00 2001 From: gdauber1 Date: Sat, 16 Aug 2025 20:15:10 +0300 Subject: [PATCH 1/3] init --- src/modules/auth.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/modules/auth.ts b/src/modules/auth.ts index bdc9950..35669de 100644 --- a/src/modules/auth.ts +++ b/src/modules/auth.ts @@ -22,10 +22,12 @@ export function createAuthModule( }, /** * Get current user sso access token + * @param {string} userid - User ID to include as path parameter * @returns {Promise} Current user sso access_token */ - async getSsoAccessToken() { - return axios.get(`/apps/${appId}/auth/sso/accesstoken`); + async getSsoAccessToken(userid: string) { + const url = `/apps/${appId}/auth/sso/accesstoken/${userid}`; + return axios.get(url); }, /** From 6bfe4aba93e7192bc88029fe9f9ca0e94b44c906 Mon Sep 17 00:00:00 2001 From: gdauber1 Date: Sat, 16 Aug 2025 22:15:04 +0300 Subject: [PATCH 2/3] add_auth_under_serviceRoleModules --- src/client.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/client.ts b/src/client.ts index f8061db..7db685a 100644 --- a/src/client.ts +++ b/src/client.ts @@ -85,6 +85,7 @@ export function createClient(config: { entities: createEntitiesModule(serviceRoleAxiosClient, appId), integrations: createIntegrationsModule(serviceRoleAxiosClient, appId), functions: createFunctionsModule(serviceRoleFunctionsAxiosClient, appId), + auth: createAuthModule(axiosClient, functionsAxiosClient, appId), }; // Always try to get token from localStorage or URL parameters From ac09984676abb5d7704e1546f4396251d535b578 Mon Sep 17 00:00:00 2001 From: gdauber1 Date: Sat, 16 Aug 2025 22:23:32 +0300 Subject: [PATCH 3/3] sso_module --- src/client.ts | 3 ++- src/modules/auth.ts | 10 ---------- src/modules/sso.ts | 24 ++++++++++++++++++++++++ 3 files changed, 26 insertions(+), 11 deletions(-) create mode 100644 src/modules/sso.ts diff --git a/src/client.ts b/src/client.ts index 7db685a..fac620e 100644 --- a/src/client.ts +++ b/src/client.ts @@ -2,6 +2,7 @@ import { createAxiosClient } from "./utils/axios-client.js"; import { createEntitiesModule } from "./modules/entities.js"; import { createIntegrationsModule } from "./modules/integrations.js"; import { createAuthModule } from "./modules/auth.js"; +import { createSsoModule } from "./modules/sso.js"; import { getAccessToken } from "./utils/auth-utils.js"; import { createFunctionsModule } from "./modules/functions.js"; @@ -84,8 +85,8 @@ export function createClient(config: { const serviceRoleModules = { entities: createEntitiesModule(serviceRoleAxiosClient, appId), integrations: createIntegrationsModule(serviceRoleAxiosClient, appId), + sso: createSsoModule(serviceRoleAxiosClient, appId), functions: createFunctionsModule(serviceRoleFunctionsAxiosClient, appId), - auth: createAuthModule(axiosClient, functionsAxiosClient, appId), }; // Always try to get token from localStorage or URL parameters diff --git a/src/modules/auth.ts b/src/modules/auth.ts index 35669de..bb0a714 100644 --- a/src/modules/auth.ts +++ b/src/modules/auth.ts @@ -20,16 +20,6 @@ export function createAuthModule( async me() { return axios.get(`/apps/${appId}/entities/User/me`); }, - /** - * Get current user sso access token - * @param {string} userid - User ID to include as path parameter - * @returns {Promise} Current user sso access_token - */ - async getSsoAccessToken(userid: string) { - const url = `/apps/${appId}/auth/sso/accesstoken/${userid}`; - return axios.get(url); - }, - /** * Update current user data * @param {Object} data - Updated user data diff --git a/src/modules/sso.ts b/src/modules/sso.ts new file mode 100644 index 0000000..ee839fd --- /dev/null +++ b/src/modules/sso.ts @@ -0,0 +1,24 @@ +import { AxiosInstance } from "axios"; + +/** + * Creates the SSO module for the Base44 SDK + * @param {import('axios').AxiosInstance} axios - Axios instance + * @param {string} appId - Application ID + * @returns {Object} SSO module with SSO authentication methods + */ +export function createSsoModule( + axios: AxiosInstance, + appId: string +) { + return { + /** + * Get current user sso access token + * @param {string} userid - User ID to include as path parameter + * @returns {Promise} Current user sso access_token + */ + async getAccessToken(userid: string) { + const url = `/apps/${appId}/auth/sso/accesstoken/${userid}`; + return axios.get(url); + }, + }; +}