1
0
Fork 0
mirror of https://github.com/plankanban/planka.git synced 2025-08-09 15:35:29 +02:00

feat: Add OIDC_IGNORE_ROLES to disable updating isAdmin on SSO login

Implements #533 and provides a solution to administrate users and roles
in planka instead over the token claims from the oidc provider.
This commit is contained in:
LeBalz 2023-10-25 17:42:10 +02:00
parent 1a49826b85
commit 5148a93440
5 changed files with 9 additions and 0 deletions

View file

@ -45,6 +45,7 @@ services:
# - OIDC_SCOPES=openid email profile
# - OIDC_ADMIN_ROLES=admin
# - OIDC_ROLES_ATTRIBUTE=groups
# - OIDC_IGNORE_ROLES=true
depends_on:
- postgres

View file

@ -45,6 +45,7 @@ services:
# - OIDC_SCOPES=openid email profile
# - OIDC_ADMIN_ROLES=admin
# - OIDC_ROLES_ATTRIBUTE=groups
# - OIDC_IGNORE_ROLES=true
depends_on:
- postgres

View file

@ -28,6 +28,7 @@ SECRET_KEY=notsecretkey
# OIDC_SCOPES=openid email profile
# OIDC_ADMIN_ROLES=admin
# OIDC_ROLES_ATTRIBUTE=groups
# OIDC_IGNORE_ROLES=true
## Do not edit this

View file

@ -92,6 +92,11 @@ module.exports = {
const updateFieldKeys = ['email', 'isAdmin', 'isSso', 'name', 'username'];
if (sails.config.custom.oidcIgnoreRoles) {
// Remove isAdmin from updateFieldKeys
updateFieldKeys.splice(updateFieldKeys.indexOf('isAdmin'), 1);
}
const updateValues = {};
// eslint-disable-next-line no-restricted-syntax
for (const k of updateFieldKeys) {

View file

@ -39,6 +39,7 @@ module.exports.custom = {
oidcScopes: process.env.OIDC_SCOPES || 'openid email profile',
oidcAdminRoles: process.env.OIDC_ADMIN_ROLES ? process.env.OIDC_ADMIN_ROLES.split(',') : [],
oidcRolesAttribute: process.env.OIDC_ROLES_ATTRIBUTE || 'groups',
oidcIgnoreRoles : process.env.OIDC_IGNORE_ROLES || false,
// TODO: move client base url to environment variable?
oidcRedirectUri: `${