Subversion Repositories oidplus

Rev

Rev 1233 | Rev 1265 | 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`
1235 daniel-mar 345
- `firebird`
1207 daniel-mar 346
- `mssql`
347
- `mysql`
348
- `oracle`
349
- `pgsql`
350
- `sqlite`
351
 
1209 daniel-mar 352
### PREPARED_STATEMENTS_EMULATION
1207 daniel-mar 353
 
354
    OIDplus::baseConfig()->setValue('PREPARED_STATEMENTS_EMULATION', 'auto');
355
 
356
Currently only for ODBC database plugin.
1209 daniel-mar 357
- `auto` = Auto detect if prepared statements should be emulated
358
- `on` = Always emulate prepared statements
359
- `off` = Never emulate prepared statements
1207 daniel-mar 360
 
1209 daniel-mar 361
### MINIFY_CSS
1207 daniel-mar 362
 
363
    OIDplus::baseConfig()->setValue('MINIFY_CSS', true);
364
 
365
This enables the compression of CSS definitions. 
366
- Compressed approx:   220 KB
367
- Uncompressed approx: 224 KB
368
 
1209 daniel-mar 369
### MINIFY_JS
1207 daniel-mar 370
 
371
    OIDplus::baseConfig()->setValue('MINIFY_JS',  true);
372
 
373
This enables the compression of JavaScript code.
374
Please only disable this, if you want to debug
375
the code! You should not disable it on a productive
376
system, because otherwise the JavaScript code
377
would be several Megabytes large. 
378
- Compressed approx:  1133 KB
379
- Unompressed approx: 2761 KB
380
 
1209 daniel-mar 381
### DISABLE_PLUGIN_*
1207 daniel-mar 382
 
383
    OIDplus::baseConfig()->setValue('DISABLE_PLUGIN_...', true);
384
 
385
This gives you the possibility to disable a plugin without
386
requiring it to be removed from the file system.
387
(Removing a plugin from the file system can result in various
388
problems, e.g. they can be re-added during a SVN/software update.)
389
Replace "..." with the main PHP class of the plugin you want to disable.
390
The namespace must be included.
391
Example:
392
`"DISABLE_PLUGIN_ViaThinkSoft\OIDplus\OIDplusLoggerPluginUserdataLogfile"`
393
disables the plugin "logger/300_userdata_logfile".
394
 
1209 daniel-mar 395
### DISABLE_AJAX_TRANSACTIONS
1208 daniel-mar 396
 
1207 daniel-mar 397
    OIDplus::baseConfig()->setValue('DISABLE_AJAX_TRANSACTIONS', false);
398
 
399
This will disable the usage of database transactions in ajax.php
400
Do only use this if you have severe problems with the system running.
401
It might result in inconsistent data e.g. if you update an OID
402
and an error occurs in the middle of that process.
403
 
1209 daniel-mar 404
### CANONICAL_SYSTEM_URL
1208 daniel-mar 405
 
1207 daniel-mar 406
    OIDplus::baseConfig()->setValue('CANONICAL_SYSTEM_URL', '');
407
 
408
Setting this value to a system URL will override the absolute system URL detection.
409
It has the following effects:
410
1. The "canonical" metatag will use this explicit system URL
411
instead of the one the PHP script is detecting.
412
(This is important to avoid duplicate content at search indexes)
413
2. CLI WHOIS and other CLI (Command-line-interface) tools
414
will use this address when they need to output an URL.
415
Otherwise, the CLI tools would need to use the last known
416
URL that was detected when a webpage visitor has last visited the
417
page.
418
3. While most resources (images, CSS files, scripts, etc.) are loaded
419
via relative URLs, sometimes an absolute URL is required
420
(e.g., if an email is sent with an activation link).
421
The explicit absolute system URL will then be used rather
422
than the automatically detected one.
423
Note that setting an absolute system URL can be very useful if
424
OIDplus runs on a system (which detects itself as "X"),
425
while the canonical URL "Y" is a reverse-proxy.
426
 
1209 daniel-mar 427
### DEBUG
1207 daniel-mar 428
 
429
    OIDplus::baseConfig()->setValue('DEBUG', false);
430
 
431
Enables some special checks for plugins (e.g. a self-test for auth plugins).
432
It is highly recommended that you enable DEBUG if you are developing
433
plugins!
434
It is recommended to disable this switch in productive systems,
435
because the self-tests decrease the performance.
436
However, after installing a new plugin, you might want to enable
437
it for a few minutes, to make sure the plugin is working correctly.
438
 
1209 daniel-mar 439
### COOKIE_SAMESITE_POLICY
1208 daniel-mar 440
 
1207 daniel-mar 441
    OIDplus::baseConfig()->setValue('COOKIE_SAMESITE_POLICY', 'Strict');
442
 
443
Defined which "SameSite" policy should be used for the cookies OIDplus uses.
444
Can be "None", "Lax" or "Strict".
445
"Strict" is the most secure setting.
446
"Lax" allows that people stay logged in if they follow a link pointing
447
to your OIDplus installation.
448
"None" is not recommended and is deprecated by modern web browsers.
449
However, OIDplus itself provides an Anti-CSRF mechanism, so you should be
450
still safe.
451
 
1209 daniel-mar 452
### COOKIE_DOMAIN
1208 daniel-mar 453
 
1207 daniel-mar 454
    OIDplus::baseConfig()->setValue('COOKIE_DOMAIN', '');
455
 
456
Can be used to increase security by setting an explicit domain-name in the cookies.
457
Set to '' (empty string) to allow all (sub)domains.
458
Set to '(auto)' to automatically detect the domain based on the absolute canonical path.
459
 
1209 daniel-mar 460
### COOKIE_PATH
1208 daniel-mar 461
 
1207 daniel-mar 462
    OIDplus::baseConfig()->setValue('COOKIE_PATH', '/');
463
 
464
Can be used to increase security by setting an explicit pathname in the cookies.
465
Set to '/' to allow all paths.
466
Set to '(auto)' to automatically detect the path based on the absolute canonical path.
467
Note: If supported, you can use Apache's "ProxyPassReverseCookiePath" to translate
468
the cookie path in a reverse-proxy setting.
469
 
1209 daniel-mar 470
### RA_PASSWORD_PEPPER
1208 daniel-mar 471
 
1233 daniel-mar 472
    OIDplus::baseConfig()->setValue('RA_PASSWORD_PEPPER', '');
1207 daniel-mar 473
 
474
The pepper is stored inside the base configuration file
475
It prevents that an attacker with SQL write rights can
476
create accounts.
1208 daniel-mar 477
 
1207 daniel-mar 478
ATTENTION!!! If a pepper is used, then the
479
hashes are bound to that pepper. If you change the pepper,
480
then ALL passwords of RAs become INVALID!
481
 
1209 daniel-mar 482
### RA_PASSWORD_PEPPER_ALGO
1208 daniel-mar 483
 
1233 daniel-mar 484
    OIDplus::baseConfig()->setValue('RA_PASSWORD_PEPPER_ALGO', 'sha512');
1207 daniel-mar 485
 
486
The pepper is stored inside the base configuration file
487
It prevents that an attacker with SQL write rights can
488
create accounts.
489
ATTENTION!!! If a pepper is used, then the
490
hashes are bound to that pepper. If you change the pepper,
491
then ALL passwords of RAs become INVALID!
492
 
1209 daniel-mar 493
### DEFAULT_LANGUAGE
1208 daniel-mar 494
 
1207 daniel-mar 495
    OIDplus::baseConfig()->setValue('DEFAULT_LANGUAGE', 'enus');
496
 
497
Default language of the system. This is the language
498
a new visitor will see if no "lang=" parameter is used
499
and no cookie is set.
500
Must be a valid language in the plugins directory.
501
Currently available:
502
- `enus` = English USA (default)
503
- `dede` = German Germany
504
 
505
(4) LDAP settings
506
-----------------
507
 
508
(see also document ldap_installation.md)
509
 
1209 daniel-mar 510
### LDAP_ENABLED
1208 daniel-mar 511
 
1207 daniel-mar 512
    OIDplus::baseConfig()->setValue('LDAP_ENABLED',                true);
513
 
514
Set to true if you want to enable that users can log-in using LDAP / ActiveDirectory.
515
 
1209 daniel-mar 516
### LDAP_NUM_DOMAINS
1208 daniel-mar 517
 
1207 daniel-mar 518
    OIDplus::baseConfig()->setValue('LDAP_NUM_DOMAINS',            1);
519
 
520
Contains the number of domains/servers which are used.
521
For 2nd, 3rd, 4th, ... domain use the fields LDAP_xxx__2, LDAP_xxx__3, ...
522
e.g.   LDAP_SERVER__2
523
LDAP_PORT__2
524
LDAP_BASE_DN__2
525
...
526
 
1209 daniel-mar 527
### LDAP_SERVER
1208 daniel-mar 528
 
1207 daniel-mar 529
    OIDplus::baseConfig()->setValue('LDAP_SERVER',                 'ldap://server1.contoso.local');
530
 
531
The LDAP server of your company.
532
 
1209 daniel-mar 533
### LDAP_PORT
1208 daniel-mar 534
 
1207 daniel-mar 535
    OIDplus::baseConfig()->setValue('LDAP_PORT',                   389);
536
 
537
The port of the LDAP server.
538
 
1209 daniel-mar 539
### LDAP_BASE_DN
1208 daniel-mar 540
 
1207 daniel-mar 541
    OIDplus::baseConfig()->setValue('LDAP_BASE_DN',                'DC=CONTOSO,DC=local');
542
 
543
The base Distinguished Name (DN) of your directory.
544
 
1209 daniel-mar 545
### LDAP_UPN_SUFFIX
1208 daniel-mar 546
 
1207 daniel-mar 547
    OIDplus::baseConfig()->setValue('LDAP_UPN_SUFFIX',             '@contoso.local');
548
 
549
The UPN suffix of this domain.
550
 
1209 daniel-mar 551
### LDAP_AUTHENTICATE_UPN
1208 daniel-mar 552
 
1207 daniel-mar 553
    OIDplus::baseConfig()->setValue('LDAP_AUTHENTICATE_UPN',       true);
554
 
555
In the login mask, the users will log in using the UPN ("principal name") e.g. username@contoso.local,
556
and in OIDplus, a RA account with an email equal to the UPN will be created.
557
 
1209 daniel-mar 558
### LDAP_AUTHENTICATE_EMAIL
1208 daniel-mar 559
 
1207 daniel-mar 560
    OIDplus::baseConfig()->setValue('LDAP_AUTHENTICATE_EMAIL',     false);
561
 
562
In the login mask, the users will log in using the UPN ("principal name") e.g. username@contoso.local,
563
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.
564
Note: If you did not set an email address to the user in the LDAP/ActiveDirectory, then the login will not be possible,
565
except if LDAP_AUTHENTICATE_UPN is additionally enabled.
566
Attention: Depending on your domain configuration, users might be able to change their own data,
567
e.g. email address. If this is the case, you must not enable this setting, otherwise,
568
users could authenticate with any address!
569
 
1209 daniel-mar 570
### LDAP_ADMIN_GROUP
1208 daniel-mar 571
 
1207 daniel-mar 572
    OIDplus::baseConfig()->setValue('LDAP_ADMIN_GROUP',            '');
573
 
574
If set to an empty string, the OIDplus administrator account cannot be accessed using LDAP authentication.
575
Otherwise, the user will be authenticated as administrator, if the LDAP user is a
576
member of the group specified in this setting.
577
Example values:
578
- `CN=Administrators,CN=Builtin,DC=CONTOSO,DC=local`
579
makes every domain administrator also an OIDplus administrator
580
- `CN=OIDplus Administrators,CN=Users,DC=CONTOSO,DC=local`
581
makes every user of the group (OIDplus Administrators) to OIDplus administrators
582
 
1209 daniel-mar 583
### LDAP_RA_GROUP
1207 daniel-mar 584
 
585
    OIDplus::baseConfig()->setValue('LDAP_RA_GROUP',               '');
586
 
587
If set to an empty string, every LDAP user can authenticate as RA, depending
588
on whether `LDAP_AUTHENTICATE_UPN` and/or `LDAP_AUTHENTICATE_EMAIL` is set.
589
Otherwise, the LDAP users must be a member of the group specified in this setting.
590
 
591
 
592
(5) Google OAuth2 settings 
593
--------------------------
594
 
595
(see also document google_oauth2_installation.md)
596
 
1209 daniel-mar 597
### GOOGLE_OAUTH2_*
1208 daniel-mar 598
 
1207 daniel-mar 599
    OIDplus::baseConfig()->setValue('GOOGLE_OAUTH2_ENABLED',       true);
600
    OIDplus::baseConfig()->setValue('GOOGLE_OAUTH2_CLIENT_ID',     '..............apps.googleusercontent.com');
601
    OIDplus::baseConfig()->setValue('GOOGLE_OAUTH2_CLIENT_SECRET', '.............');
602
 
603
 
604
(6) Facebook OAuth2 settings
605
----------------------------
606
 
607
(see also document facebook_oauth2_installation.md)
608
 
1209 daniel-mar 609
### FACEBOOK_OAUTH2_*
1208 daniel-mar 610
 
1207 daniel-mar 611
    OIDplus::baseConfig()->setValue('FACEBOOK_OAUTH2_ENABLED',       true);
612
    OIDplus::baseConfig()->setValue('FACEBOOK_OAUTH2_CLIENT_ID',     '.............'); // Your App ID
613
    OIDplus::baseConfig()->setValue('FACEBOOK_OAUTH2_CLIENT_SECRET', '.............'); // Your App Secret
614
 
615
 
616
(7) JWT authentication settings
617
-------------------------------
618
 
619
If a web request contains the field "OIDPLUS_AUTH_JWT" containing a signed JWT token,
620
an automatic one-time login is performed in order to execute commands.
621
This feature is used in the plugins "Automated AJAX calls" for admins and RAs.
622
With these switches you can disable this feature.
623
 
1209 daniel-mar 624
### JWT_ALLOW_AJAX_ADMIN
1208 daniel-mar 625
 
1207 daniel-mar 626
    OIDplus::baseConfig()->setValue('JWT_ALLOW_AJAX_ADMIN', true);
627
 
628
Allow JWT tokens that were created using the admin-plugin
629
"Automated AJAX calls".
630
 
1209 daniel-mar 631
### JWT_ALLOW_AJAX_USER
1208 daniel-mar 632
 
1207 daniel-mar 633
    OIDplus::baseConfig()->setValue('JWT_ALLOW_AJAX_USER', true);
634
 
635
Allow JWT tokens that were created using the RA-plugin
636
"Automated AJAX calls".
1208 daniel-mar 637
 
1209 daniel-mar 638
### JWT_ALLOW_LOGIN_ADMIN
1208 daniel-mar 639
 
1207 daniel-mar 640
    OIDplus::baseConfig()->setValue('JWT_ALLOW_LOGIN_ADMIN', true);
641
 
642
Allow "Remember me" logins for the administrator account.
1208 daniel-mar 643
 
1209 daniel-mar 644
### JWT_ALLOW_LOGIN_USER
1207 daniel-mar 645
 
646
    OIDplus::baseConfig()->setValue('JWT_ALLOW_LOGIN_USER', true);
647
 
648
Allow "Remember me" logins for a RA.
1208 daniel-mar 649
 
1209 daniel-mar 650
### JWT_ALLOW_MANUAL
1208 daniel-mar 651
 
1207 daniel-mar 652
    OIDplus::baseConfig()->setValue('JWT_ALLOW_MANUAL', false);
653
 
654
Allow JWT tokens which were manually created "by hand".
655
These can have any content you like, but they must
656
contain the claim "oidplus_generator" with value "2".
1208 daniel-mar 657
 
1209 daniel-mar 658
### JWT_TTL_LOGIN_USER
1207 daniel-mar 659
 
660
    OIDplus::baseConfig()->setValue('JWT_TTL_LOGIN_USER', 10*365*24*60*60);
661
 
662
How many seconds will a "remember me" login JWT token be valid?
663
(RA login)
1208 daniel-mar 664
 
1209 daniel-mar 665
### JWT_TTL_LOGIN_ADMIN
1208 daniel-mar 666
 
1207 daniel-mar 667
    OIDplus::baseConfig()->setValue('JWT_TTL_LOGIN_ADMIN', 10*365*24*60*60);
668
 
669
How many seconds will a "remember me" login JWT token be valid?
670
(Administrator login)
671
 
672
 
673
(8) Third-party plugins
674
-----------------------
675
 
1209 daniel-mar 676
### FrdlWeb RDAP plugin
1208 daniel-mar 677
 
1207 daniel-mar 678
    OIDplus::baseConfig()->setValue('RDAP_CACHE_ENABLED',   false );
679
    OIDplus::baseConfig()->setValue('RDAP_CACHE_DIRECTORY', OIDplus::localpath().'userdata/cache/' );
680
    OIDplus::baseConfig()->setValue('RDAP_BASE_URI',        OIDplus::webpath() );
681
    OIDplus::baseConfig()->setValue('RDAP_CACHE_EXPIRES',   60 * 3 );