mirror of
https://github.com/nextcloud/all-in-one.git
synced 2026-09-21 10:40:21 +00:00
This adds optional two factor authentication based on shared TOTP-secrets to both login variants (password and AIO token authentication). The 2FA can be enabled as soon as the containers are running in a section below the backup configuration. As long as it is not enabled, the AIO UI shows a warning at the top, and inside the Nextcloud a notification is shown to all Nextcloud admins, strongly recommending to enable it. The Nextcloud admin notification is sent via the mastercontainer's `cron.sh`, thus will be renewed whenever it is dismissed. In order to show the notices, this PR includes a notification system for the AIO UI, providing two variants: notices, and warnings. Notices have a green background and border and vanish after 5 seconds. Warnings have a orange-leaning yellow background and border and don't vanish (and can't be dismissed manually, neither). Another visual improvement is highlighted section headlines: If the URL hash matches an `h2` element's ID, the `h2` is highlighted and if the `h2` is followed by a `detail` element, that `detail` is opened. If effect, browsing to `#two-factor-auth` jumps to the section, which is highlighted and opened already (as shown in the second screenshot below). Signed-off-by: Pablo Zmdl <pablo@nextcloud.com> AI-assistant: Claude Opus 4.8
44 lines
1.2 KiB
JSON
44 lines
1.2 KiB
JSON
{
|
|
"autoload": {
|
|
"psr-4": {
|
|
"AIO\\": ["src/"]
|
|
}
|
|
},
|
|
"require": {
|
|
"php": "8.5.*",
|
|
"ext-json": "*",
|
|
"ext-sodium": "*",
|
|
"ext-curl": "*",
|
|
"slim/slim": "^4.11",
|
|
"php-di/slim-bridge": "^3.3",
|
|
"guzzlehttp/guzzle": "^7.5",
|
|
"guzzlehttp/psr7": "^2.4",
|
|
"http-interop/http-factory-guzzle": "^1.2",
|
|
"slim/twig-view": "^3.3",
|
|
"slim/csrf": "^1.3",
|
|
"ext-apcu": "*",
|
|
"slim/psr7": "^1.8",
|
|
"rullzer/easytotp": "^0.1.4",
|
|
"christian-riesen/base32": "^1.6"
|
|
},
|
|
"require-dev": {
|
|
"sserbin/twig-linter": "@dev",
|
|
"vimeo/psalm": "^6.0",
|
|
"wapmorgan/php-deprecation-detector": "dev-master",
|
|
"phpunit/phpunit": "^12"
|
|
},
|
|
"scripts": {
|
|
"dev": [
|
|
"Composer\\Config::disableProcessTimeout",
|
|
"php -S localhost:8080 -t public"
|
|
],
|
|
"psalm": "psalm --threads=1",
|
|
"psalm:update-baseline": "psalm --threads=1 --monochrome --no-progress --output-format=text --update-baseline",
|
|
"psalm:strict": "psalm --threads=1 --show-info=true",
|
|
"lint": "php -l src/*.php src/**/*.php public/index.php",
|
|
"lint:twig": "twig-linter lint ./templates",
|
|
"test": "phpunit --configuration phpunit.xml",
|
|
"php-deprecation-detector": "phpdd scan -n -t 8.5 src/*.php src/**/*.php public/index.php"
|
|
}
|
|
}
|