diff --git a/src/client.ts b/src/client.ts index f8061db..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,6 +85,7 @@ export function createClient(config: { const serviceRoleModules = { entities: createEntitiesModule(serviceRoleAxiosClient, appId), integrations: createIntegrationsModule(serviceRoleAxiosClient, appId), + sso: createSsoModule(serviceRoleAxiosClient, appId), functions: createFunctionsModule(serviceRoleFunctionsAxiosClient, appId), }; diff --git a/src/modules/auth.ts b/src/modules/auth.ts index bdc9950..bb0a714 100644 --- a/src/modules/auth.ts +++ b/src/modules/auth.ts @@ -20,14 +20,6 @@ export function createAuthModule( async me() { return axios.get(`/apps/${appId}/entities/User/me`); }, - /** - * Get current user sso access token - * @returns {Promise} Current user sso access_token - */ - async getSsoAccessToken() { - return axios.get(`/apps/${appId}/auth/sso/accesstoken`); - }, - /** * 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); + }, + }; +}