new: [keycloak] initial settings

pull/73/head
iglocska 2021-10-20 14:23:22 +02:00
parent 1d57a94803
commit ea73b19494
No known key found for this signature in database
GPG Key ID: BEA224F1FEF113AC
1 changed files with 115 additions and 4 deletions

View File

@ -71,6 +71,7 @@ class SettingsProviderTable extends AppTable
'test' => 'testUuid',
],
],
/*
'Miscellaneous' => [
'sc2.hero' => [
'description' => 'The true hero',
@ -108,6 +109,7 @@ class SettingsProviderTable extends AppTable
// 'severity' => 'info',
'type' => 'integer'
],
*/
],
'Network' => [
'Proxy' => [
@ -156,6 +158,115 @@ class SettingsProviderTable extends AppTable
],
],
],
'Authentication' => [
'Providers' => [
'KeyCloak' => [
'keycloak.enabled' => [
'name' => 'Enabled',
'type' => 'boolean',
'severity' => 'warning',
'description' => __('Enable keycloak authentication'),
'default' => false,
],
'keycloak.provider.applicationId' => [
'name' => 'Client ID',
'type' => 'string',
'severity' => 'info',
'default' => '',
'description' => __('The Client ID configured for Cerebrate.'),
'dependsOn' => 'keycloak.enabled'
],
'keycloak.provider.applicationSecret' => [
'name' => 'Client Secret',
'type' => 'string',
'severity' => 'info',
'default' => '',
'description' => __('The client secret in Cerebrate used to request tokens.'),
'dependsOn' => 'keycloak.enabled'
],
'keycloak.provider.realm' => [
'name' => 'Realm',
'type' => 'string',
'severity' => 'info',
'default' => '',
'description' => __('The realm under which the Cerebrate client is enrolled in KeyCloak.'),
'dependsOn' => 'keycloak.enabled'
],
'keycloak.provider.baseUrl' => [
'name' => 'Baseurl',
'type' => 'string',
'severity' => 'info',
'default' => '',
'description' => __('The baseurl of the keycloak authentication endpoint, such as https://foo.bar/baz/auth.'),
'dependsOn' => 'keycloak.enabled'
],
'keycloak.authoritative' => [
'name' => 'Authoritative',
'type' => 'boolean',
'severity' => 'info',
'description' => __('Override local role and organisation settings based on the settings in KeyCloak'),
'default' => false,
'dependsOn' => 'keycloak.enabled'
],
'keycloak.default_role_name' => [
'name' => 'Authoritative',
'type' => 'boolean',
'severity' => 'info',
'description' => __('Override local role and organisation settings based on the settings in KeyCloak'),
'default' => false,
'dependsOn' => 'keycloak.enabled'
],
'keycloak.mapping.org_uuid' => [
'name' => 'org_uuid mapping',
'type' => 'string',
'severity' => 'info',
'default' => 'org_uuid',
'description' => __('org_uuid mapped name in keycloak'),
'dependsOn' => 'keycloak.enabled'
],
'keycloak.mapping.role_name' => [
'name' => 'role_name mapping',
'type' => 'string',
'severity' => 'info',
'default' => 'role_name',
'description' => __('role_name mapped name in keycloak'),
'dependsOn' => 'keycloak.enabled'
],
'keycloak.mapping.username' => [
'name' => 'username mapping',
'type' => 'string',
'severity' => 'info',
'default' => 'preferred_username',
'description' => __('username mapped name in keycloak'),
'dependsOn' => 'keycloak.enabled'
],
'keycloak.mapping.email' => [
'name' => 'email mapping',
'type' => 'string',
'severity' => 'info',
'default' => 'email',
'description' => __('email mapped name in keycloak'),
'dependsOn' => 'keycloak.enabled'
],
'keycloak.mapping.first_name' => [
'name' => 'first_name mapping',
'type' => 'string',
'severity' => 'info',
'default' => 'given_name',
'description' => __('first_name mapped name in keycloak'),
'dependsOn' => 'keycloak.enabled'
],
'keycloak.mapping.family_name' => [
'name' => 'family_name mapping',
'type' => 'string',
'severity' => 'info',
'default' => 'family_name',
'description' => __('family_name mapped name in keycloak'),
'dependsOn' => 'keycloak.enabled'
],
]
]
],
'Security' => [
'Development' => [
'Debugging' => [
@ -206,7 +317,7 @@ class SettingsProviderTable extends AppTable
}
return $settingConf;
}
/**
* mergeSettingsIntoSettingConfiguration Inject the provided settings into the configuration while performing depencency and validation checks
*
@ -249,7 +360,7 @@ class SettingsProviderTable extends AppTable
}
return $flattenedSettings;
}
/**
* getNoticesFromSettingsConfiguration Summarize the validation errors
*
@ -322,7 +433,7 @@ class SettingsProviderTable extends AppTable
}
return $setting;
}
/**
* evaluateFunctionForSetting - evaluate the provided function. If function could not be evaluated, its result is defaulted to true
*
@ -402,4 +513,4 @@ class SettingValidator
}
return true;
}
}
}