{"version":3,"file":"sso.mjs","names":[],"sources":["../src/api/sso.ts"],"sourcesContent":["import type {\n\tOidcConfigDto,\n\tSamlPreferences,\n\tSamlToggleDto,\n\tTestOidcConfigResponseDto,\n} from '@n8n/api-types';\n\nimport type { IRestApiContext } from '../types';\nimport { makeRestApiRequest } from '../utils';\n\nexport type SamlPreferencesExtractedData = {\n\tentityID: string;\n\treturnUrl: string;\n};\n\nexport const initSSO = async (context: IRestApiContext, redirectUrl = ''): Promise<string> => {\n\treturn await makeRestApiRequest(context, 'GET', `/sso/saml/initsso?redirect=${redirectUrl}`);\n};\n\nexport const getSamlMetadata = async (context: IRestApiContext): Promise<SamlPreferences> => {\n\treturn await makeRestApiRequest(context, 'GET', '/sso/saml/metadata');\n};\n\nexport const getSamlConfig = async (\n\tcontext: IRestApiContext,\n): Promise<SamlPreferences & SamlPreferencesExtractedData> => {\n\treturn await makeRestApiRequest(context, 'GET', '/sso/saml/config');\n};\n\nexport const saveSamlConfig = async (\n\tcontext: IRestApiContext,\n\tdata: Partial<SamlPreferences>,\n): Promise<SamlPreferences | undefined> => {\n\treturn await makeRestApiRequest(context, 'POST', '/sso/saml/config', data);\n};\n\nexport const toggleSamlConfig = async (\n\tcontext: IRestApiContext,\n\tdata: SamlToggleDto,\n): Promise<void> => {\n\treturn await makeRestApiRequest(context, 'POST', '/sso/saml/config/toggle', data);\n};\n\nexport const testSamlConfig = async (\n\tcontext: IRestApiContext,\n\tdata: Partial<SamlPreferences>,\n): Promise<string> => {\n\treturn await makeRestApiRequest(context, 'POST', '/sso/saml/config/test', data);\n};\n\nexport const getOidcConfig = async (context: IRestApiContext): Promise<OidcConfigDto> => {\n\treturn await makeRestApiRequest(context, 'GET', '/sso/oidc/config');\n};\n\nexport const saveOidcConfig = async (\n\tcontext: IRestApiContext,\n\tdata: OidcConfigDto,\n): Promise<OidcConfigDto> => {\n\treturn await makeRestApiRequest(context, 'POST', '/sso/oidc/config', data);\n};\n\nexport const testOidcConfig = async (\n\tcontext: IRestApiContext,\n): Promise<TestOidcConfigResponseDto> => {\n\treturn await makeRestApiRequest(context, 'POST', '/sso/oidc/config/test');\n};\n\nexport const initOidcLogin = async (context: IRestApiContext): Promise<string> => {\n\treturn await makeRestApiRequest(context, 'GET', '/sso/oidc/login');\n};\n\nexport type OidcLogoutResponse = {\n\t/**\n\t * OIDC RP-Initiated Logout URL to redirect the browser to, or `null` when\n\t * the session was not established through OIDC or the provider does not\n\t * support RP-initiated logout. The n8n session is terminated either way.\n\t */\n\tredirectUrl: string | null;\n};\n\nexport const oidcLogout = async (context: IRestApiContext): Promise<OidcLogoutResponse> => {\n\treturn await makeRestApiRequest(context, 'POST', '/sso/oidc/logout');\n};\n"],"mappings":";;;AAeA,MAAa,UAAU,OAAO,SAA0B,cAAc,OAAwB;AAC7F,QAAO,MAAM,mBAAmB,SAAS,OAAO,8BAA8B,cAAc;;AAG7F,MAAa,kBAAkB,OAAO,YAAuD;AAC5F,QAAO,MAAM,mBAAmB,SAAS,OAAO,qBAAqB;;AAGtE,MAAa,gBAAgB,OAC5B,YAC6D;AAC7D,QAAO,MAAM,mBAAmB,SAAS,OAAO,mBAAmB;;AAGpE,MAAa,iBAAiB,OAC7B,SACA,SAC0C;AAC1C,QAAO,MAAM,mBAAmB,SAAS,QAAQ,oBAAoB,KAAK;;AAG3E,MAAa,mBAAmB,OAC/B,SACA,SACmB;AACnB,QAAO,MAAM,mBAAmB,SAAS,QAAQ,2BAA2B,KAAK;;AAGlF,MAAa,iBAAiB,OAC7B,SACA,SACqB;AACrB,QAAO,MAAM,mBAAmB,SAAS,QAAQ,yBAAyB,KAAK;;AAGhF,MAAa,gBAAgB,OAAO,YAAqD;AACxF,QAAO,MAAM,mBAAmB,SAAS,OAAO,mBAAmB;;AAGpE,MAAa,iBAAiB,OAC7B,SACA,SAC4B;AAC5B,QAAO,MAAM,mBAAmB,SAAS,QAAQ,oBAAoB,KAAK;;AAG3E,MAAa,iBAAiB,OAC7B,YACwC;AACxC,QAAO,MAAM,mBAAmB,SAAS,QAAQ,wBAAwB;;AAG1E,MAAa,gBAAgB,OAAO,YAA8C;AACjF,QAAO,MAAM,mBAAmB,SAAS,OAAO,kBAAkB;;AAYnE,MAAa,aAAa,OAAO,YAA0D;AAC1F,QAAO,MAAM,mBAAmB,SAAS,QAAQ,mBAAmB"}