1
0
Fork 0
mirror of https://github.com/plankanban/planka.git synced 2025-07-19 05:09:43 +02:00
planka/server/api/controllers/show-config.js

48 lines
1.2 KiB
JavaScript
Raw Normal View History

const Errors = {
INVALID_OIDC_CONFIGURATION: {
invalidOidcConfiguration: 'Invalid OIDC configuration',
},
};
2023-10-17 19:18:19 +02:00
module.exports = {
exits: {
invalidOidcConfiguration: {
responseType: 'serverError',
},
},
async fn() {
2023-10-19 16:05:34 +02:00
let oidc = null;
if (sails.hooks.oidc.isActive()) {
let oidcClient;
try {
oidcClient = await sails.hooks.oidc.getClient();
} catch (error) {
sails.log.warn(`Error while initializing OIDC client: ${error}`);
throw Errors.INVALID_OIDC_CONFIGURATION;
}
2023-10-19 16:05:34 +02:00
2024-07-16 12:33:38 +02:00
const authorizationUrlParams = {
scope: sails.config.custom.oidcScopes,
2024-07-16 12:33:38 +02:00
};
2024-07-16 12:33:38 +02:00
if (!sails.config.custom.oidcUseDefaultResponseMode) {
authorizationUrlParams.response_mode = sails.config.custom.oidcResponseMode;
}
2023-10-19 16:05:34 +02:00
oidc = {
2024-07-16 12:33:38 +02:00
authorizationUrl: oidcClient.authorizationUrl(authorizationUrlParams),
2023-10-19 16:05:34 +02:00
endSessionUrl: oidcClient.issuer.end_session_endpoint ? oidcClient.endSessionUrl({}) : null,
isEnforced: sails.config.custom.oidcEnforced,
2023-10-19 16:05:34 +02:00
};
}
2023-10-17 19:18:19 +02:00
return {
item: {
2023-10-19 16:05:34 +02:00
oidc,
allowAllToCreateProjects: sails.config.custom.allowAllToCreateProjects,
2023-10-17 19:18:19 +02:00
},
};
},
};