Subversion Repositories oidplus

Rev

Rev 1209 | Rev 1235 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1207 daniel-mar 1
 
2
Overview of all config.inc.php settings
3
=======================================
4
 
1208 daniel-mar 5
The file **userdata/baseconfig/config.inc.php** contains various settings
1207 daniel-mar 6
which are essential to connect to your database and other
7
things that should be known before the database connection
8
is opened.
9
Other settings are stored in the database (table "config")
10
and can be accessed using the admin login area.
11
 
12
The setup assistant (/setup/) will lead you through
1208 daniel-mar 13
the creation of the most important settings of **config.inc.php**.
1207 daniel-mar 14
 
15
Below you will find a list of all possible config settings
16
of the default OIDplus installation/plugins.
17
Please note that a plugin can define any key.
18
 
19
 
20
(1) Config settings provided by the setup assistant
21
---------------------------------------------------
22
 
1209 daniel-mar 23
### CONFIG_VERSION
1208 daniel-mar 24
 
1207 daniel-mar 25
    OIDplus::baseConfig()->setValue('CONFIG_VERSION',           2.1);
26
 
27
Always set to 2.1 in the latest format.
28
 
1209 daniel-mar 29
### ADMIN_PASSWORD
1208 daniel-mar 30
 
1207 daniel-mar 31
    OIDplus::baseConfig()->setValue('ADMIN_PASSWORD',           '<BCrypt hash, or base64 encoded SHA3-512 hash>');
32
 
33
If you want to have multiple valid administrator passwords
34
(e.g. if you want multiple users), then this value can
35
also be an array containing hashes.
36
 
1209 daniel-mar 37
### DATABASE_PLUGIN
1208 daniel-mar 38
 
1207 daniel-mar 39
    OIDplus::baseConfig()->setValue('DATABASE_PLUGIN',          '');
40
 
41
Valid values: see plugins (setup/).
42
 
1209 daniel-mar 43
### OCI_CONN_STR
1208 daniel-mar 44
 
1207 daniel-mar 45
    OIDplus::baseConfig()->setValue('OCI_CONN_STR',             'localhost/orcl');
46
 
1209 daniel-mar 47
### OCI_*
1208 daniel-mar 48
 
1207 daniel-mar 49
Can be a Oracle connection string/TNS or a hostname like.
50
 
51
    OIDplus::baseConfig()->setValue('OCI_USERNAME',             'hr');
52
    OIDplus::baseConfig()->setValue('OCI_PASSWORD',             'oracle');
53
 
54
Used by the Oracle database plugin.
55
 
1209 daniel-mar 56
### ODBC_*
1208 daniel-mar 57
 
1207 daniel-mar 58
    OIDplus::baseConfig()->setValue('ODBC_DSN',                 'DRIVER={SQL Server};SERVER=localhost;DATABASE=oidplus;CHARSET=UTF8');
59
    OIDplus::baseConfig()->setValue('ODBC_USERNAME',            'sa');
60
    OIDplus::baseConfig()->setValue('ODBC_PASSWORD',            base64_decode('<base64_encoded_password>')); // alternatively as plaintext
61
 
62
Used by the ODBC database plugin.
63
 
1233 daniel-mar 64
Username and password are not required if you want to use SQL Server Integrated Security,
65
or if the DBMS does not require credentials (e.g. a File DB).
66
 
1207 daniel-mar 67
The base64 encoding protects your password from being read if someone
68
"looks over your shoulder" at your display while you have the configuration file opened.
69
(Obviously, it doesn't protect you if they can make a photo or screenshot)
70
 
1209 daniel-mar 71
### PDO_*
1208 daniel-mar 72
 
1207 daniel-mar 73
    OIDplus::baseConfig()->setValue('PDO_DSN',                  'pgsql:host=localhost;dbname=oidplus');
74
    OIDplus::baseConfig()->setValue('PDO_USERNAME',             'postgres');
75
    OIDplus::baseConfig()->setValue('PDO_PASSWORD',             base64_decode('<base64_encoded_password>')); // alternatively as plaintext
76
 
77
Used by the PDO datbase plugin.
78
 
1233 daniel-mar 79
Username and password are not required if you want to use SQL Server Integrated Security,
80
or if the DBMS does not require credentials (e.g. a File DB).
81
 
1207 daniel-mar 82
The base64 encoding protects your password from being read if someone
83
"looks over your shoulder" at your display while you have the configuration file opened.
84
(Obviously, it doesn't protect you if they can make a photo or screenshot)
85
 
1233 daniel-mar 86
### ADO_*
87
 
88
    OIDplus::baseConfig()->setValue('ADO_CONNECTION_STRING',    'Provider=MSOLEDBSQL;Data Source=LOCALHOST\SQLEXPRESS;Initial Catalog=oidplus;Integrated Security=SSPI');
89
 
90
Used by the ADO datbase plugin.
91
 
92
### SQLSRV_*
93
 
94
    OIDplus::baseConfig()->setValue('SQLSRV_SERVER',            'localhost\oidplus');
95
    OIDplus::baseConfig()->setValue('SQLSRV_USERNAME',          '');
96
    OIDplus::baseConfig()->setValue('SQLSRV_PASSWORD',          base64_decode('<base64_encoded_password>')); // alternatively as plaintext
97
    OIDplus::baseConfig()->setValue('SQLSRV_DATABASE',          'oidplus');
98
    OIDplus::baseConfig()->setValue('SQLSRV_OPTIONS',           array());
99
 
100
Used by the SQLSRV datbase plugin.
101
 
102
SQLSRV_OPTIONS can be filled with various connection info options
103
(see PHP documentation for sqlsrv_connect).
104
The following fields will be automatically filled if they are not explicitly overridden:
105
- `UID` will be filled with `SQLSRV_USERNAME`
106
- `PWD` will be filled with `SQLSRV_PASSWORD`
107
- `Database` will be filled with `SQLSRV_DATABASE`
108
- `CharacterSet` will be filled with `"UTF-8"`
109
 
110
Username and password are not required if you want to use SQL Server Integrated Security,
111
or if the DBMS does not require credentials (e.g. a File DB).
112
 
113
The base64 encoding protects your password from being read if someone
114
"looks over your shoulder" at your display while you have the configuration file opened.
115
(Obviously, it doesn't protect you if they can make a photo or screenshot)
116
 
1209 daniel-mar 117
### MYSQL_*
1208 daniel-mar 118
 
1207 daniel-mar 119
    OIDplus::baseConfig()->setValue('MYSQL_HOST',               'localhost:3306');
120
 
121
The hostname to connect to. Port (:3306) is optional.
122
 
123
    OIDplus::baseConfig()->setValue('MYSQL_SOCKET',             '');
124
 
125
In case you connect via MySQL through a socket, use this setting.
126
(It is currently not included in setup/ and needs to be set manually).
127
 
128
    OIDplus::baseConfig()->setValue('MYSQL_USERNAME',           'root');
129
    OIDplus::baseConfig()->setValue('MYSQL_PASSWORD',           base64_decode('<base64_encoded_password>')); // alternatively as plaintext
130
    OIDplus::baseConfig()->setValue('MYSQL_DATABASE',           'oidplus');
131
 
132
Used by the MySQL database plugin.
133
 
134
The base64 encoding protects your password from being read if someone
135
"looks over your shoulder" at your display while you have the configuration file opened.
136
(Obviously, it doesn't protect you if they can make a photo or screenshot)
137
 
1209 daniel-mar 138
### PGSQL_*
1208 daniel-mar 139
 
1207 daniel-mar 140
    OIDplus::baseConfig()->setValue('PGSQL_HOST',               'localhost:5432');
141
    OIDplus::baseConfig()->setValue('PGSQL_SOCKET',             '');
142
    OIDplus::baseConfig()->setValue('PGSQL_USERNAME',           'postgres');
143
    OIDplus::baseConfig()->setValue('PGSQL_PASSWORD',           base64_decode('<base64_encoded_password>')); // alternatively as plaintext
144
    OIDplus::baseConfig()->setValue('PGSQL_DATABASE',           'oidplus');
145
 
146
Used by the PgSQL databse plugin.
147
 
148
The hostname to connect to. Port (:5432) is optional.
149
 
150
In case you connect via PostgreSQL through a socket, use this setting.
151
(It is currently not included in setup/ and needs to be set manually).
152
 
153
The base64 encoding protects your password from being read if someone
154
"looks over your shoulder" at your display while you have the configuration file opened.
155
(Obviously, it doesn't protect you if they can make a photo or screenshot)
156
 
1209 daniel-mar 157
### SQLITE3_*
1208 daniel-mar 158
 
1207 daniel-mar 159
    OIDplus::baseConfig()->setValue('SQLITE3_FILE',             'userdata/database/oidplus.db');
160
    OIDplus::baseConfig()->setValue('SQLITE3_ENCRYPTION',       '');
161
 
162
Attention: This file must be located in a location that is not world-readable/downloadable!
163
 
164
The encryption is optional.
165
 
1209 daniel-mar 166
### TABLENAME_PREFIX
1208 daniel-mar 167
 
1207 daniel-mar 168
    OIDplus::baseConfig()->setValue('TABLENAME_PREFIX',         'oidplus_');
169
 
170
Every table has this prefix, e.g. oidplus_config.
171
 
1209 daniel-mar 172
### SERVER_SECRET
1208 daniel-mar 173
 
1207 daniel-mar 174
    OIDplus::baseConfig()->setValue('SERVER_SECRET',            'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
175
 
176
It is very very important that you choose a long sequence of
177
random characters. OIDplus uses this secret for various
178
security related purposes. If someone accidently received this secret,
179
please change the sequence.
180
 
1209 daniel-mar 181
### CAPTCHA_PLUGIN
1208 daniel-mar 182
 
1207 daniel-mar 183
    OIDplus::baseConfig()->setValue('CAPTCHA_PLUGIN',           'None');
184
 
185
Alternative Values (installed plugins)
1209 daniel-mar 186
- `reCAPTCHA`
187
- `hCaptcha`
188
- `ViaThinkSoft Client Challenge`
1207 daniel-mar 189
 
1209 daniel-mar 190
Please note that the value is case-sensitive.
1207 daniel-mar 191
 
1209 daniel-mar 192
### RECAPTCHA_VERSION
193
 
1207 daniel-mar 194
    OIDplus::baseConfig()->setValue('RECAPTCHA_VERSION',        \ViaThinkSoft\OIDplus\OIDplusCaptchaPluginRecaptcha::RECAPTCHA_V2_CHECKBOX);
195
 
196
Possible values:
197
- `\ViaThinkSoft\OIDplus\OIDplusCaptchaPluginRecaptcha::RECAPTCHA_V2_CHECKBOX`
198
- `\ViaThinkSoft\OIDplus\OIDplusCaptchaPluginRecaptcha::RECAPTCHA_V2_INVISIBLE`
199
- `\ViaThinkSoft\OIDplus\OIDplusCaptchaPluginRecaptcha::RECAPTCHA_V3`
200
 
1209 daniel-mar 201
### RECAPTCHA_ENABLED
1207 daniel-mar 202
 
203
    OIDplus::baseConfig()->setValue('RECAPTCHA_ENABLED',        true);
204
 
205
Deprecated!
206
- `RECAPTCHA_ENABLED=true`  becomes `CAPTCHA_PLUGIN=reCAPTCHA`
207
- `RECAPTCHA_ENABLED=false` becomes `CAPTCHA_PLUGIN=None`
208
 
1209 daniel-mar 209
### RECAPTCHA_*
1207 daniel-mar 210
 
211
    OIDplus::baseConfig()->setValue('RECAPTCHA_PUBLIC',         '');
212
    OIDplus::baseConfig()->setValue('RECAPTCHA_PRIVATE',        '');
213
 
1209 daniel-mar 214
Only used if `CAPTCHA_PLUGIN=reCAPTCHA`.
1207 daniel-mar 215
 
1209 daniel-mar 216
### HCAPTCHA_*
1208 daniel-mar 217
 
1207 daniel-mar 218
    OIDplus::baseConfig()->setValue('HCAPTCHA_SITEKEY',         '');
219
    OIDplus::baseConfig()->setValue('HCAPTCHA_SECRET',          '');
220
 
221
Only used if `CAPTCHA_PLUGIN=hCaptcha`.
222
 
1209 daniel-mar 223
### VTS_CAPTCHA_*
1208 daniel-mar 224
 
225
    OIDplus::baseConfig()->setValue('VTS_CAPTCHA_COMPLEXITY',   50000);
226
    OIDplus::baseConfig()->setValue('VTS_CAPTCHA_AUTOSOLVE',    true);
227
    OIDplus::baseConfig()->setValue('VTS_CAPTCHA_MAXTIME',      10*60/*10 minutes*/);
228
 
229
Only used if `CAPTCHA_PLUGIN=ViaThinkSoft Client Challenge`.
230
 
1209 daniel-mar 231
### ENFORCE_SSL
1208 daniel-mar 232
 
1207 daniel-mar 233
    OIDplus::baseConfig()->setValue('ENFORCE_SSL',              OIDplus::ENFORCE_SSL_AUTO);
234
 
235
Values are:
236
- `OIDplus::ENFORCE_SSL_NO` (0) = (off)
237
- `OIDplus::ENFORCE_SSL_YES` (1) = (on)
238
- `OIDplus::ENFORCE_SSL_AUTO` (2) = (auto detect SSL)
239
 
240
 
241
(2) System limitations 
242
----------------------
243
 
244
The system limitations are defined and documented in includes/oidplus_limits.inc.php
245
and can be overwritten by config.inc.php.
246
 
1209 daniel-mar 247
### LIMITS_MAX_ID_LENGTH
1208 daniel-mar 248
 
1207 daniel-mar 249
    OIDplus::baseConfig()->setValue('LIMITS_MAX_ID_LENGTH',     255);
250
 
251
Example: OID 2.999.123.456 has a length of 13 characters in dot notation.
252
OIDplus adds the prefix "oid:" in front of every OID,
253
so the overal length of the ID would be 17.
254
 
255
Default value: 255 digits (OIDs 251 digits)
256
 
257
Which value is realistic? In the oid-info.com database (April 2020), the OID with the greatest size is 65 characters (dot notation)
258
 
259
Maximum value: OIDs may only have a size of max 251 characters in dot notation.
260
Reason: The field defintion of *_objects.oid is defined as varchar(255),
261
and the OID will have the prefix 'oid:' (4 bytes).
262
You can increase the limit by changing the field definition in the database.
263
 
1209 daniel-mar 264
### LIMITS_MAX_OID_ASN1_ID_LEN
1208 daniel-mar 265
 
1207 daniel-mar 266
    OIDplus::baseConfig()->setValue('LIMITS_MAX_OID_ASN1_ID_LEN',  255);
267
 
268
Default value: 255 characters
269
 
270
Maximum value: 255, as defined in the database fields *_asn1id.name
271
You can change the database field definition if you really need more.
272
 
1209 daniel-mar 273
### LIMITS_MAX_OID_UNICODE_LABEL_LEN
1208 daniel-mar 274
 
1207 daniel-mar 275
    OIDplus::baseConfig()->setValue('LIMITS_MAX_OID_UNICODE_LABEL_LEN',  255);
276
 
277
Default value: 255 bytes (UTF-8 encoded!)
278
 
279
Maximum value: 255, as defined in the database fields *_iri.name
280
You can change the database field definition if you really need more.
281
 
282
 
283
(3) "Hidden"/undocumented config settings
284
-----------------------------------------
285
 
1209 daniel-mar 286
### OFFLINE_MODE
1208 daniel-mar 287
 
1207 daniel-mar 288
    OIDplus::baseConfig()->setValue('OFFLINE_MODE', false);
289
 
290
If set to true, OIDplus will not contact other servers. No system registration,
291
no hCaptcha, no reCAPTCHA, no system updates, etc.
292
 
1209 daniel-mar 293
### OIDINFO_API_URL
1208 daniel-mar 294
 
1207 daniel-mar 295
    OIDplus::baseConfig()->setValue('OIDINFO_API_URL', '<url>');
296
 
297
Currently only internal use for development utilities (dev/).
298
The API to oid-info.com is currently not public.
299
 
1209 daniel-mar 300
### REGISTRATION_HIDE_SYSTEM
1208 daniel-mar 301
 
1207 daniel-mar 302
    OIDplus::baseConfig()->setValue('REGISTRATION_HIDE_SYSTEM', true);
303
 
304
Set this if you have a clone of a productive system and you want
305
to avoid that the clone registers at the ViaThinkSoft directory
306
(which would overwrite the URL of the productive system and reveal
307
the URL of your testing system)
308
 
1209 daniel-mar 309
### MYSQL_FORCE_MYSQLND_SUPPLEMENT
1208 daniel-mar 310
 
1207 daniel-mar 311
    OIDplus::baseConfig()->setValue('MYSQL_FORCE_MYSQLND_SUPPLEMENT',         false);
312
 
313
The MySQLi plugin contains a supplement code to handle
314
prepared statements on servers which do not have the MySQLnd extension
315
installed. Set this flag to force the supplement to be used,
316
even if MySQLnd is available. (For testing purposes only)
317
 
1209 daniel-mar 318
### QUERY_LOGFILE
1208 daniel-mar 319
 
1207 daniel-mar 320
    OIDplus::baseConfig()->setValue('QUERY_LOGFILE',          '');
321
 
322
Set this setting to a filename where all queries including timestamps would be written.
323
This is used for performance analysis.
324
Please choose a directory that cannot be accessed by world-wide.
325
 
1209 daniel-mar 326
### SESSION_LIFETIME
1208 daniel-mar 327
 
1207 daniel-mar 328
    OIDplus::baseConfig()->setValue('SESSION_LIFETIME', 30*60);
329
 
330
Session lifetime in seconds.
331
 
1209 daniel-mar 332
### OBJECT_CACHING
1208 daniel-mar 333
 
1207 daniel-mar 334
    OIDplus::baseConfig()->setValue('OBJECT_CACHING',         true);
335
 
336
Object caching reads all objects in the memory. This increases performance
337
performance but also increases memory usage on large databases.
338
 
1209 daniel-mar 339
### FORCE_DBMS_SLANG
1208 daniel-mar 340
 
1207 daniel-mar 341
    OIDplus::baseConfig()->setValue('FORCE_DBMS_SLANG', '');
342
 
343
Currently valid values:
344
- `access`
345
- `mssql`
346
- `mysql`
347
- `oracle`
348
- `pgsql`
349
- `sqlite`
350
 
1209 daniel-mar 351
### PREPARED_STATEMENTS_EMULATION
1207 daniel-mar 352
 
353
    OIDplus::baseConfig()->setValue('PREPARED_STATEMENTS_EMULATION', 'auto');
354
 
355
Currently only for ODBC database plugin.
1209 daniel-mar 356
- `auto` = Auto detect if prepared statements should be emulated
357
- `on` = Always emulate prepared statements
358
- `off` = Never emulate prepared statements
1207 daniel-mar 359
 
1209 daniel-mar 360
### MINIFY_CSS
1207 daniel-mar 361
 
362
    OIDplus::baseConfig()->setValue('MINIFY_CSS', true);
363
 
364
This enables the compression of CSS definitions. 
365
- Compressed approx:   220 KB
366
- Uncompressed approx: 224 KB
367
 
1209 daniel-mar 368
### MINIFY_JS
1207 daniel-mar 369
 
370
    OIDplus::baseConfig()->setValue('MINIFY_JS',  true);
371
 
372
This enables the compression of JavaScript code.
373
Please only disable this, if you want to debug
374
the code! You should not disable it on a productive
375
system, because otherwise the JavaScript code
376
would be several Megabytes large. 
377
- Compressed approx:  1133 KB
378
- Unompressed approx: 2761 KB
379
 
1209 daniel-mar 380
### DISABLE_PLUGIN_*
1207 daniel-mar 381
 
382
    OIDplus::baseConfig()->setValue('DISABLE_PLUGIN_...', true);
383
 
384
This gives you the possibility to disable a plugin without
385
requiring it to be removed from the file system.
386
(Removing a plugin from the file system can result in various
387
problems, e.g. they can be re-added during a SVN/software update.)
388
Replace "..." with the main PHP class of the plugin you want to disable.
389
The namespace must be included.
390
Example:
391
`"DISABLE_PLUGIN_ViaThinkSoft\OIDplus\OIDplusLoggerPluginUserdataLogfile"`
392
disables the plugin "logger/300_userdata_logfile".
393
 
1209 daniel-mar 394
### DISABLE_AJAX_TRANSACTIONS
1208 daniel-mar 395
 
1207 daniel-mar 396
    OIDplus::baseConfig()->setValue('DISABLE_AJAX_TRANSACTIONS', false);
397
 
398
This will disable the usage of database transactions in ajax.php
399
Do only use this if you have severe problems with the system running.
400
It might result in inconsistent data e.g. if you update an OID
401
and an error occurs in the middle of that process.
402
 
1209 daniel-mar 403
### CANONICAL_SYSTEM_URL
1208 daniel-mar 404
 
1207 daniel-mar 405
    OIDplus::baseConfig()->setValue('CANONICAL_SYSTEM_URL', '');
406
 
407
Setting this value to a system URL will override the absolute system URL detection.
408
It has the following effects:
409
1. The "canonical" metatag will use this explicit system URL
410
instead of the one the PHP script is detecting.
411
(This is important to avoid duplicate content at search indexes)
412
2. CLI WHOIS and other CLI (Command-line-interface) tools
413
will use this address when they need to output an URL.
414
Otherwise, the CLI tools would need to use the last known
415
URL that was detected when a webpage visitor has last visited the
416
page.
417
3. While most resources (images, CSS files, scripts, etc.) are loaded
418
via relative URLs, sometimes an absolute URL is required
419
(e.g., if an email is sent with an activation link).
420
The explicit absolute system URL will then be used rather
421
than the automatically detected one.
422
Note that setting an absolute system URL can be very useful if
423
OIDplus runs on a system (which detects itself as "X"),
424
while the canonical URL "Y" is a reverse-proxy.
425
 
1209 daniel-mar 426
### DEBUG
1207 daniel-mar 427
 
428
    OIDplus::baseConfig()->setValue('DEBUG', false);
429
 
430
Enables some special checks for plugins (e.g. a self-test for auth plugins).
431
It is highly recommended that you enable DEBUG if you are developing
432
plugins!
433
It is recommended to disable this switch in productive systems,
434
because the self-tests decrease the performance.
435
However, after installing a new plugin, you might want to enable
436
it for a few minutes, to make sure the plugin is working correctly.
437
 
1209 daniel-mar 438
### COOKIE_SAMESITE_POLICY
1208 daniel-mar 439
 
1207 daniel-mar 440
    OIDplus::baseConfig()->setValue('COOKIE_SAMESITE_POLICY', 'Strict');
441
 
442
Defined which "SameSite" policy should be used for the cookies OIDplus uses.
443
Can be "None", "Lax" or "Strict".
444
"Strict" is the most secure setting.
445
"Lax" allows that people stay logged in if they follow a link pointing
446
to your OIDplus installation.
447
"None" is not recommended and is deprecated by modern web browsers.
448
However, OIDplus itself provides an Anti-CSRF mechanism, so you should be
449
still safe.
450
 
1209 daniel-mar 451
### COOKIE_DOMAIN
1208 daniel-mar 452
 
1207 daniel-mar 453
    OIDplus::baseConfig()->setValue('COOKIE_DOMAIN', '');
454
 
455
Can be used to increase security by setting an explicit domain-name in the cookies.
456
Set to '' (empty string) to allow all (sub)domains.
457
Set to '(auto)' to automatically detect the domain based on the absolute canonical path.
458
 
1209 daniel-mar 459
### COOKIE_PATH
1208 daniel-mar 460
 
1207 daniel-mar 461
    OIDplus::baseConfig()->setValue('COOKIE_PATH', '/');
462
 
463
Can be used to increase security by setting an explicit pathname in the cookies.
464
Set to '/' to allow all paths.
465
Set to '(auto)' to automatically detect the path based on the absolute canonical path.
466
Note: If supported, you can use Apache's "ProxyPassReverseCookiePath" to translate
467
the cookie path in a reverse-proxy setting.
468
 
1209 daniel-mar 469
### RA_PASSWORD_PEPPER
1208 daniel-mar 470
 
1233 daniel-mar 471
    OIDplus::baseConfig()->setValue('RA_PASSWORD_PEPPER', '');
1207 daniel-mar 472
 
473
The pepper is stored inside the base configuration file
474
It prevents that an attacker with SQL write rights can
475
create accounts.
1208 daniel-mar 476
 
1207 daniel-mar 477
ATTENTION!!! If a pepper is used, then the
478
hashes are bound to that pepper. If you change the pepper,
479
then ALL passwords of RAs become INVALID!
480
 
1209 daniel-mar 481
### RA_PASSWORD_PEPPER_ALGO
1208 daniel-mar 482
 
1233 daniel-mar 483
    OIDplus::baseConfig()->setValue('RA_PASSWORD_PEPPER_ALGO', 'sha512');
1207 daniel-mar 484
 
485
The pepper is stored inside the base configuration file
486
It prevents that an attacker with SQL write rights can
487
create accounts.
488
ATTENTION!!! If a pepper is used, then the
489
hashes are bound to that pepper. If you change the pepper,
490
then ALL passwords of RAs become INVALID!
491
 
1209 daniel-mar 492
### DEFAULT_LANGUAGE
1208 daniel-mar 493
 
1207 daniel-mar 494
    OIDplus::baseConfig()->setValue('DEFAULT_LANGUAGE', 'enus');
495
 
496
Default language of the system. This is the language
497
a new visitor will see if no "lang=" parameter is used
498
and no cookie is set.
499
Must be a valid language in the plugins directory.
500
Currently available:
501
- `enus` = English USA (default)
502
- `dede` = German Germany
503
 
504
(4) LDAP settings
505
-----------------
506
 
507
(see also document ldap_installation.md)
508
 
1209 daniel-mar 509
### LDAP_ENABLED
1208 daniel-mar 510
 
1207 daniel-mar 511
    OIDplus::baseConfig()->setValue('LDAP_ENABLED',                true);
512
 
513
Set to true if you want to enable that users can log-in using LDAP / ActiveDirectory.
514
 
1209 daniel-mar 515
### LDAP_NUM_DOMAINS
1208 daniel-mar 516
 
1207 daniel-mar 517
    OIDplus::baseConfig()->setValue('LDAP_NUM_DOMAINS',            1);
518
 
519
Contains the number of domains/servers which are used.
520
For 2nd, 3rd, 4th, ... domain use the fields LDAP_xxx__2, LDAP_xxx__3, ...
521
e.g.   LDAP_SERVER__2
522
LDAP_PORT__2
523
LDAP_BASE_DN__2
524
...
525
 
1209 daniel-mar 526
### LDAP_SERVER
1208 daniel-mar 527
 
1207 daniel-mar 528
    OIDplus::baseConfig()->setValue('LDAP_SERVER',                 'ldap://server1.contoso.local');
529
 
530
The LDAP server of your company.
531
 
1209 daniel-mar 532
### LDAP_PORT
1208 daniel-mar 533
 
1207 daniel-mar 534
    OIDplus::baseConfig()->setValue('LDAP_PORT',                   389);
535
 
536
The port of the LDAP server.
537
 
1209 daniel-mar 538
### LDAP_BASE_DN
1208 daniel-mar 539
 
1207 daniel-mar 540
    OIDplus::baseConfig()->setValue('LDAP_BASE_DN',                'DC=CONTOSO,DC=local');
541
 
542
The base Distinguished Name (DN) of your directory.
543
 
1209 daniel-mar 544
### LDAP_UPN_SUFFIX
1208 daniel-mar 545
 
1207 daniel-mar 546
    OIDplus::baseConfig()->setValue('LDAP_UPN_SUFFIX',             '@contoso.local');
547
 
548
The UPN suffix of this domain.
549
 
1209 daniel-mar 550
### LDAP_AUTHENTICATE_UPN
1208 daniel-mar 551
 
1207 daniel-mar 552
    OIDplus::baseConfig()->setValue('LDAP_AUTHENTICATE_UPN',       true);
553
 
554
In the login mask, the users will log in using the UPN ("principal name") e.g. username@contoso.local,
555
and in OIDplus, a RA account with an email equal to the UPN will be created.
556
 
1209 daniel-mar 557
### LDAP_AUTHENTICATE_EMAIL
1208 daniel-mar 558
 
1207 daniel-mar 559
    OIDplus::baseConfig()->setValue('LDAP_AUTHENTICATE_EMAIL',     false);
560
 
561
In the login mask, the users will log in using the UPN ("principal name") e.g. username@contoso.local,
562
and in OIDplus, a RA account with an email equal to the "E-Mail-Address" field of the user in the directory will be created.
563
Note: If you did not set an email address to the user in the LDAP/ActiveDirectory, then the login will not be possible,
564
except if LDAP_AUTHENTICATE_UPN is additionally enabled.
565
Attention: Depending on your domain configuration, users might be able to change their own data,
566
e.g. email address. If this is the case, you must not enable this setting, otherwise,
567
users could authenticate with any address!
568
 
1209 daniel-mar 569
### LDAP_ADMIN_GROUP
1208 daniel-mar 570
 
1207 daniel-mar 571
    OIDplus::baseConfig()->setValue('LDAP_ADMIN_GROUP',            '');
572
 
573
If set to an empty string, the OIDplus administrator account cannot be accessed using LDAP authentication.
574
Otherwise, the user will be authenticated as administrator, if the LDAP user is a
575
member of the group specified in this setting.
576
Example values:
577
- `CN=Administrators,CN=Builtin,DC=CONTOSO,DC=local`
578
makes every domain administrator also an OIDplus administrator
579
- `CN=OIDplus Administrators,CN=Users,DC=CONTOSO,DC=local`
580
makes every user of the group (OIDplus Administrators) to OIDplus administrators
581
 
1209 daniel-mar 582
### LDAP_RA_GROUP
1207 daniel-mar 583
 
584
    OIDplus::baseConfig()->setValue('LDAP_RA_GROUP',               '');
585
 
586
If set to an empty string, every LDAP user can authenticate as RA, depending
587
on whether `LDAP_AUTHENTICATE_UPN` and/or `LDAP_AUTHENTICATE_EMAIL` is set.
588
Otherwise, the LDAP users must be a member of the group specified in this setting.
589
 
590
 
591
(5) Google OAuth2 settings 
592
--------------------------
593
 
594
(see also document google_oauth2_installation.md)
595
 
1209 daniel-mar 596
### GOOGLE_OAUTH2_*
1208 daniel-mar 597
 
1207 daniel-mar 598
    OIDplus::baseConfig()->setValue('GOOGLE_OAUTH2_ENABLED',       true);
599
    OIDplus::baseConfig()->setValue('GOOGLE_OAUTH2_CLIENT_ID',     '..............apps.googleusercontent.com');
600
    OIDplus::baseConfig()->setValue('GOOGLE_OAUTH2_CLIENT_SECRET', '.............');
601
 
602
 
603
(6) Facebook OAuth2 settings
604
----------------------------
605
 
606
(see also document facebook_oauth2_installation.md)
607
 
1209 daniel-mar 608
### FACEBOOK_OAUTH2_*
1208 daniel-mar 609
 
1207 daniel-mar 610
    OIDplus::baseConfig()->setValue('FACEBOOK_OAUTH2_ENABLED',       true);
611
    OIDplus::baseConfig()->setValue('FACEBOOK_OAUTH2_CLIENT_ID',     '.............'); // Your App ID
612
    OIDplus::baseConfig()->setValue('FACEBOOK_OAUTH2_CLIENT_SECRET', '.............'); // Your App Secret
613
 
614
 
615
(7) JWT authentication settings
616
-------------------------------
617
 
618
If a web request contains the field "OIDPLUS_AUTH_JWT" containing a signed JWT token,
619
an automatic one-time login is performed in order to execute commands.
620
This feature is used in the plugins "Automated AJAX calls" for admins and RAs.
621
With these switches you can disable this feature.
622
 
1209 daniel-mar 623
### JWT_ALLOW_AJAX_ADMIN
1208 daniel-mar 624
 
1207 daniel-mar 625
    OIDplus::baseConfig()->setValue('JWT_ALLOW_AJAX_ADMIN', true);
626
 
627
Allow JWT tokens that were created using the admin-plugin
628
"Automated AJAX calls".
629
 
1209 daniel-mar 630
### JWT_ALLOW_AJAX_USER
1208 daniel-mar 631
 
1207 daniel-mar 632
    OIDplus::baseConfig()->setValue('JWT_ALLOW_AJAX_USER', true);
633
 
634
Allow JWT tokens that were created using the RA-plugin
635
"Automated AJAX calls".
1208 daniel-mar 636
 
1209 daniel-mar 637
### JWT_ALLOW_LOGIN_ADMIN
1208 daniel-mar 638
 
1207 daniel-mar 639
    OIDplus::baseConfig()->setValue('JWT_ALLOW_LOGIN_ADMIN', true);
640
 
641
Allow "Remember me" logins for the administrator account.
1208 daniel-mar 642
 
1209 daniel-mar 643
### JWT_ALLOW_LOGIN_USER
1207 daniel-mar 644
 
645
    OIDplus::baseConfig()->setValue('JWT_ALLOW_LOGIN_USER', true);
646
 
647
Allow "Remember me" logins for a RA.
1208 daniel-mar 648
 
1209 daniel-mar 649
### JWT_ALLOW_MANUAL
1208 daniel-mar 650
 
1207 daniel-mar 651
    OIDplus::baseConfig()->setValue('JWT_ALLOW_MANUAL', false);
652
 
653
Allow JWT tokens which were manually created "by hand".
654
These can have any content you like, but they must
655
contain the claim "oidplus_generator" with value "2".
1208 daniel-mar 656
 
1209 daniel-mar 657
### JWT_TTL_LOGIN_USER
1207 daniel-mar 658
 
659
    OIDplus::baseConfig()->setValue('JWT_TTL_LOGIN_USER', 10*365*24*60*60);
660
 
661
How many seconds will a "remember me" login JWT token be valid?
662
(RA login)
1208 daniel-mar 663
 
1209 daniel-mar 664
### JWT_TTL_LOGIN_ADMIN
1208 daniel-mar 665
 
1207 daniel-mar 666
    OIDplus::baseConfig()->setValue('JWT_TTL_LOGIN_ADMIN', 10*365*24*60*60);
667
 
668
How many seconds will a "remember me" login JWT token be valid?
669
(Administrator login)
670
 
671
 
672
(8) Third-party plugins
673
-----------------------
674
 
1209 daniel-mar 675
### FrdlWeb RDAP plugin
1208 daniel-mar 676
 
1207 daniel-mar 677
    OIDplus::baseConfig()->setValue('RDAP_CACHE_ENABLED',   false );
678
    OIDplus::baseConfig()->setValue('RDAP_CACHE_DIRECTORY', OIDplus::localpath().'userdata/cache/' );
679
    OIDplus::baseConfig()->setValue('RDAP_BASE_URI',        OIDplus::webpath() );
680
    OIDplus::baseConfig()->setValue('RDAP_CACHE_EXPIRES',   60 * 3 );