Skip to content
Snippets Groups Projects
Commit 5ef6c2d1 authored by Marko Ivancic's avatar Marko Ivancic
Browse files

Merge branch 'units' into 'main'

Fix logut

See merge request !8
parents 38c358f3 a48a7fea
Branches
Tags
1 merge request!8Fix logut
Pipeline #81092 passed
......@@ -4146,16 +4146,16 @@
},
{
"name": "phpstan/phpdoc-parser",
"version": "1.20.3",
"version": "1.20.4",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
"reference": "6c04009f6cae6eda2f040745b6b846080ef069c2"
"reference": "7d568c87a9df9c5f7e8b5f075fc469aa8cb0a4cd"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/6c04009f6cae6eda2f040745b6b846080ef069c2",
"reference": "6c04009f6cae6eda2f040745b6b846080ef069c2",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/7d568c87a9df9c5f7e8b5f075fc469aa8cb0a4cd",
"reference": "7d568c87a9df9c5f7e8b5f075fc469aa8cb0a4cd",
"shasum": ""
},
"require": {
......@@ -4185,9 +4185,9 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
"source": "https://github.com/phpstan/phpdoc-parser/tree/1.20.3"
"source": "https://github.com/phpstan/phpdoc-parser/tree/1.20.4"
},
"time": "2023-04-25T09:01:03+00:00"
"time": "2023-05-02T09:19:37+00:00"
},
{
"name": "phpunit/php-code-coverage",
......@@ -4970,23 +4970,23 @@
},
{
"name": "react/promise",
"version": "v2.9.0",
"version": "v2.10.0",
"source": {
"type": "git",
"url": "https://github.com/reactphp/promise.git",
"reference": "234f8fd1023c9158e2314fa9d7d0e6a83db42910"
"reference": "f913fb8cceba1e6644b7b90c4bfb678ed8a3ef38"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/reactphp/promise/zipball/234f8fd1023c9158e2314fa9d7d0e6a83db42910",
"reference": "234f8fd1023c9158e2314fa9d7d0e6a83db42910",
"url": "https://api.github.com/repos/reactphp/promise/zipball/f913fb8cceba1e6644b7b90c4bfb678ed8a3ef38",
"reference": "f913fb8cceba1e6644b7b90c4bfb678ed8a3ef38",
"shasum": ""
},
"require": {
"php": ">=5.4.0"
},
"require-dev": {
"phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.36"
"phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.36"
},
"type": "library",
"autoload": {
......@@ -5030,19 +5030,15 @@
],
"support": {
"issues": "https://github.com/reactphp/promise/issues",
"source": "https://github.com/reactphp/promise/tree/v2.9.0"
"source": "https://github.com/reactphp/promise/tree/v2.10.0"
},
"funding": [
{
"url": "https://github.com/WyriHaximus",
"type": "github"
},
{
"url": "https://github.com/clue",
"type": "github"
"url": "https://opencollective.com/reactphp",
"type": "open_collective"
}
],
"time": "2022-02-11T10:27:51+00:00"
"time": "2023-05-02T15:15:43+00:00"
},
{
"name": "robrichards/xmlseclibs",
......@@ -5386,16 +5382,16 @@
},
{
"name": "sebastian/diff",
"version": "4.0.4",
"version": "4.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
"reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
"reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
"reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
"reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
"shasum": ""
},
"require": {
......@@ -5440,7 +5436,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
"source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
"source": "https://github.com/sebastianbergmann/diff/tree/4.0.5"
},
"funding": [
{
......@@ -5448,7 +5444,7 @@
"type": "github"
}
],
"time": "2020-10-26T13:10:38+00:00"
"time": "2023-05-07T05:35:17+00:00"
},
{
"name": "sebastian/environment",
......@@ -6225,16 +6221,16 @@
},
{
"name": "simplesamlphp/saml2",
"version": "v4.6.6",
"version": "v4.6.8",
"source": {
"type": "git",
"url": "https://github.com/simplesamlphp/saml2.git",
"reference": "717c0adc4877ebd58428637e5626345e59fa0109"
"reference": "dea19260955a863f6a347e8479a2049d99b5cd18"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/simplesamlphp/saml2/zipball/717c0adc4877ebd58428637e5626345e59fa0109",
"reference": "717c0adc4877ebd58428637e5626345e59fa0109",
"url": "https://api.github.com/repos/simplesamlphp/saml2/zipball/dea19260955a863f6a347e8479a2049d99b5cd18",
"reference": "dea19260955a863f6a347e8479a2049d99b5cd18",
"shasum": ""
},
"require": {
......@@ -6277,9 +6273,9 @@
"description": "SAML2 PHP library from SimpleSAMLphp",
"support": {
"issues": "https://github.com/simplesamlphp/saml2/issues",
"source": "https://github.com/simplesamlphp/saml2/tree/v4.6.6"
"source": "https://github.com/simplesamlphp/saml2/tree/v4.6.8"
},
"time": "2023-03-08T19:32:49+00:00"
"time": "2023-05-05T11:55:46+00:00"
},
{
"name": "simplesamlphp/simplesamlphp",
......@@ -6871,16 +6867,16 @@
},
{
"name": "symfony/cache",
"version": "v5.4.22",
"version": "v5.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
"reference": "5ed986c4ef65f0dea5e9753630b5cb1f07f847d6"
"reference": "983c79ff28612cdfd66d8e44e1a06e5afc87e107"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/cache/zipball/5ed986c4ef65f0dea5e9753630b5cb1f07f847d6",
"reference": "5ed986c4ef65f0dea5e9753630b5cb1f07f847d6",
"url": "https://api.github.com/repos/symfony/cache/zipball/983c79ff28612cdfd66d8e44e1a06e5afc87e107",
"reference": "983c79ff28612cdfd66d8e44e1a06e5afc87e107",
"shasum": ""
},
"require": {
......@@ -6948,7 +6944,7 @@
"psr6"
],
"support": {
"source": "https://github.com/symfony/cache/tree/v5.4.22"
"source": "https://github.com/symfony/cache/tree/v5.4.23"
},
"funding": [
{
......@@ -6964,7 +6960,7 @@
"type": "tidelift"
}
],
"time": "2023-03-29T20:01:08+00:00"
"time": "2023-04-21T15:38:51+00:00"
},
{
"name": "symfony/cache-contracts",
......@@ -7126,16 +7122,16 @@
},
{
"name": "symfony/console",
"version": "v5.4.22",
"version": "v5.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "3cd51fd2e6c461ca678f84d419461281bd87a0a8"
"reference": "90f21e27d0d88ce38720556dd164d4a1e4c3934c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/3cd51fd2e6c461ca678f84d419461281bd87a0a8",
"reference": "3cd51fd2e6c461ca678f84d419461281bd87a0a8",
"url": "https://api.github.com/repos/symfony/console/zipball/90f21e27d0d88ce38720556dd164d4a1e4c3934c",
"reference": "90f21e27d0d88ce38720556dd164d4a1e4c3934c",
"shasum": ""
},
"require": {
......@@ -7205,7 +7201,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v5.4.22"
"source": "https://github.com/symfony/console/tree/v5.4.23"
},
"funding": [
{
......@@ -7221,20 +7217,20 @@
"type": "tidelift"
}
],
"time": "2023-03-25T09:27:28+00:00"
"time": "2023-04-24T18:47:29+00:00"
},
{
"name": "symfony/dependency-injection",
"version": "v5.4.22",
"version": "v5.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
"reference": "e1b7c1432efb4ad1dd89d62906187271e2601ed9"
"reference": "bb7b7988c898c94f5338e16403c52b5a3cae1d93"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e1b7c1432efb4ad1dd89d62906187271e2601ed9",
"reference": "e1b7c1432efb4ad1dd89d62906187271e2601ed9",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/bb7b7988c898c94f5338e16403c52b5a3cae1d93",
"reference": "bb7b7988c898c94f5338e16403c52b5a3cae1d93",
"shasum": ""
},
"require": {
......@@ -7294,7 +7290,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/dependency-injection/tree/v5.4.22"
"source": "https://github.com/symfony/dependency-injection/tree/v5.4.23"
},
"funding": [
{
......@@ -7310,7 +7306,7 @@
"type": "tidelift"
}
],
"time": "2023-03-10T10:02:45+00:00"
"time": "2023-04-21T15:04:16+00:00"
},
{
"name": "symfony/deprecation-contracts",
......@@ -7381,16 +7377,16 @@
},
{
"name": "symfony/error-handler",
"version": "v5.4.21",
"version": "v5.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
"reference": "56a94aa8cb5a5fbc411551d8d014a296b5456549"
"reference": "218206b4772d9f412d7d277980c020d06e9d8a4e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/error-handler/zipball/56a94aa8cb5a5fbc411551d8d014a296b5456549",
"reference": "56a94aa8cb5a5fbc411551d8d014a296b5456549",
"url": "https://api.github.com/repos/symfony/error-handler/zipball/218206b4772d9f412d7d277980c020d06e9d8a4e",
"reference": "218206b4772d9f412d7d277980c020d06e9d8a4e",
"shasum": ""
},
"require": {
......@@ -7432,7 +7428,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/error-handler/tree/v5.4.21"
"source": "https://github.com/symfony/error-handler/tree/v5.4.23"
},
"funding": [
{
......@@ -7448,7 +7444,7 @@
"type": "tidelift"
}
],
"time": "2023-02-14T08:03:56+00:00"
"time": "2023-04-17T10:03:27+00:00"
},
{
"name": "symfony/event-dispatcher",
......@@ -7616,16 +7612,16 @@
},
{
"name": "symfony/filesystem",
"version": "v5.4.21",
"version": "v5.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
"reference": "e75960b1bbfd2b8c9e483e0d74811d555ca3de9f"
"reference": "b2f79d86cd9e7de0fff6d03baa80eaed7a5f38b5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/e75960b1bbfd2b8c9e483e0d74811d555ca3de9f",
"reference": "e75960b1bbfd2b8c9e483e0d74811d555ca3de9f",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/b2f79d86cd9e7de0fff6d03baa80eaed7a5f38b5",
"reference": "b2f79d86cd9e7de0fff6d03baa80eaed7a5f38b5",
"shasum": ""
},
"require": {
......@@ -7660,7 +7656,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/filesystem/tree/v5.4.21"
"source": "https://github.com/symfony/filesystem/tree/v5.4.23"
},
"funding": [
{
......@@ -7676,7 +7672,7 @@
"type": "tidelift"
}
],
"time": "2023-02-14T08:03:56+00:00"
"time": "2023-03-02T11:38:35+00:00"
},
{
"name": "symfony/finder",
......@@ -7894,16 +7890,16 @@
},
{
"name": "symfony/http-foundation",
"version": "v5.4.22",
"version": "v5.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
"reference": "05cd1acdd0e3ce8473aaba1d86c188321d85f313"
"reference": "af9fbb378f5f956c8f29d4886644c84c193780ac"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/05cd1acdd0e3ce8473aaba1d86c188321d85f313",
"reference": "05cd1acdd0e3ce8473aaba1d86c188321d85f313",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/af9fbb378f5f956c8f29d4886644c84c193780ac",
"reference": "af9fbb378f5f956c8f29d4886644c84c193780ac",
"shasum": ""
},
"require": {
......@@ -7950,7 +7946,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/http-foundation/tree/v5.4.22"
"source": "https://github.com/symfony/http-foundation/tree/v5.4.23"
},
"funding": [
{
......@@ -7966,20 +7962,20 @@
"type": "tidelift"
}
],
"time": "2023-03-28T07:28:17+00:00"
"time": "2023-04-18T06:30:11+00:00"
},
{
"name": "symfony/http-kernel",
"version": "v5.4.22",
"version": "v5.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
"reference": "2d3a8be2c756353627398827c409af6f126c096d"
"reference": "48ea17a7c65ef1ede0c3b2dbc35adace99071810"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/2d3a8be2c756353627398827c409af6f126c096d",
"reference": "2d3a8be2c756353627398827c409af6f126c096d",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/48ea17a7c65ef1ede0c3b2dbc35adace99071810",
"reference": "48ea17a7c65ef1ede0c3b2dbc35adace99071810",
"shasum": ""
},
"require": {
......@@ -8062,7 +8058,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/http-kernel/tree/v5.4.22"
"source": "https://github.com/symfony/http-kernel/tree/v5.4.23"
},
"funding": [
{
......@@ -8078,20 +8074,20 @@
"type": "tidelift"
}
],
"time": "2023-03-31T11:54:37+00:00"
"time": "2023-04-28T13:29:52+00:00"
},
{
"name": "symfony/intl",
"version": "v5.4.22",
"version": "v5.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/intl.git",
"reference": "8afe56b8472888d749ef8955acdc9d38578775d7"
"reference": "962789bbc76c82c266623321ffc24416f574b636"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/intl/zipball/8afe56b8472888d749ef8955acdc9d38578775d7",
"reference": "8afe56b8472888d749ef8955acdc9d38578775d7",
"url": "https://api.github.com/repos/symfony/intl/zipball/962789bbc76c82c266623321ffc24416f574b636",
"reference": "962789bbc76c82c266623321ffc24416f574b636",
"shasum": ""
},
"require": {
......@@ -8150,7 +8146,7 @@
"localization"
],
"support": {
"source": "https://github.com/symfony/intl/tree/v5.4.22"
"source": "https://github.com/symfony/intl/tree/v5.4.23"
},
"funding": [
{
......@@ -8166,7 +8162,7 @@
"type": "tidelift"
}
],
"time": "2023-03-10T09:58:14+00:00"
"time": "2023-04-13T10:36:25+00:00"
},
{
"name": "symfony/polyfill-ctype",
......@@ -8741,16 +8737,16 @@
},
{
"name": "symfony/process",
"version": "v5.4.22",
"version": "v5.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
"reference": "4b850da0cc3a2a9181c1ed407adbca4733dc839b"
"reference": "4b842fc4b61609e0a155a114082bd94e31e98287"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/4b850da0cc3a2a9181c1ed407adbca4733dc839b",
"reference": "4b850da0cc3a2a9181c1ed407adbca4733dc839b",
"url": "https://api.github.com/repos/symfony/process/zipball/4b842fc4b61609e0a155a114082bd94e31e98287",
"reference": "4b842fc4b61609e0a155a114082bd94e31e98287",
"shasum": ""
},
"require": {
......@@ -8783,7 +8779,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/process/tree/v5.4.22"
"source": "https://github.com/symfony/process/tree/v5.4.23"
},
"funding": [
{
......@@ -8799,7 +8795,7 @@
"type": "tidelift"
}
],
"time": "2023-03-06T21:29:33+00:00"
"time": "2023-04-18T13:50:24+00:00"
},
{
"name": "symfony/routing",
......@@ -9261,16 +9257,16 @@
},
{
"name": "symfony/var-dumper",
"version": "v5.4.22",
"version": "v5.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
"reference": "e2edac9ce47e6df07e38143c7cfa6bdbc1a6dcc4"
"reference": "9a8a5b6d6508928174ded2109e29328a55342a42"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/e2edac9ce47e6df07e38143c7cfa6bdbc1a6dcc4",
"reference": "e2edac9ce47e6df07e38143c7cfa6bdbc1a6dcc4",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/9a8a5b6d6508928174ded2109e29328a55342a42",
"reference": "9a8a5b6d6508928174ded2109e29328a55342a42",
"shasum": ""
},
"require": {
......@@ -9330,7 +9326,7 @@
"dump"
],
"support": {
"source": "https://github.com/symfony/var-dumper/tree/v5.4.22"
"source": "https://github.com/symfony/var-dumper/tree/v5.4.23"
},
"funding": [
{
......@@ -9346,7 +9342,7 @@
"type": "tidelift"
}
],
"time": "2023-03-25T09:27:28+00:00"
"time": "2023-04-18T09:26:27+00:00"
},
{
"name": "symfony/var-exporter",
......@@ -9423,16 +9419,16 @@
},
{
"name": "symfony/yaml",
"version": "v5.4.21",
"version": "v5.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "3713e20d93e46e681e51605d213027e48dab3469"
"reference": "4cd2e3ea301aadd76a4172756296fe552fb45b0b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/3713e20d93e46e681e51605d213027e48dab3469",
"reference": "3713e20d93e46e681e51605d213027e48dab3469",
"url": "https://api.github.com/repos/symfony/yaml/zipball/4cd2e3ea301aadd76a4172756296fe552fb45b0b",
"reference": "4cd2e3ea301aadd76a4172756296fe552fb45b0b",
"shasum": ""
},
"require": {
......@@ -9478,7 +9474,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/yaml/tree/v5.4.21"
"source": "https://github.com/symfony/yaml/tree/v5.4.23"
},
"funding": [
{
......@@ -9494,7 +9490,7 @@
"type": "tidelift"
}
],
"time": "2023-02-21T19:46:44+00:00"
"time": "2023-04-23T19:33:36+00:00"
},
{
"name": "thecodingmachine/safe",
......@@ -9687,16 +9683,16 @@
},
{
"name": "twig/intl-extra",
"version": "v3.5.1",
"version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/intl-extra.git",
"reference": "c3ebfac1624228c0556de57a34af6b7d83a1a408"
"reference": "a97c323bebfca009d02994a5a8568c0b412a49ab"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/intl-extra/zipball/c3ebfac1624228c0556de57a34af6b7d83a1a408",
"reference": "c3ebfac1624228c0556de57a34af6b7d83a1a408",
"url": "https://api.github.com/repos/twigphp/intl-extra/zipball/a97c323bebfca009d02994a5a8568c0b412a49ab",
"reference": "a97c323bebfca009d02994a5a8568c0b412a49ab",
"shasum": ""
},
"require": {
......@@ -9708,11 +9704,6 @@
"symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.5-dev"
}
},
"autoload": {
"psr-4": {
"Twig\\Extra\\Intl\\": ""
......@@ -9740,7 +9731,7 @@
"twig"
],
"support": {
"source": "https://github.com/twigphp/intl-extra/tree/v3.5.1"
"source": "https://github.com/twigphp/intl-extra/tree/v3.6.0"
},
"funding": [
{
......@@ -9752,20 +9743,20 @@
"type": "tidelift"
}
],
"time": "2023-02-08T07:44:55+00:00"
"time": "2023-02-09T06:45:16+00:00"
},
{
"name": "twig/twig",
"version": "v3.5.1",
"version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "a6e0510cc793912b451fd40ab983a1d28f611c15"
"reference": "106c170d08e8415d78be2d16c3d057d0d108262b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/a6e0510cc793912b451fd40ab983a1d28f611c15",
"reference": "a6e0510cc793912b451fd40ab983a1d28f611c15",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/106c170d08e8415d78be2d16c3d057d0d108262b",
"reference": "106c170d08e8415d78be2d16c3d057d0d108262b",
"shasum": ""
},
"require": {
......@@ -9774,15 +9765,10 @@
"symfony/polyfill-mbstring": "^1.3"
},
"require-dev": {
"psr/container": "^1.0",
"psr/container": "^1.0|^2.0",
"symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.5-dev"
}
},
"autoload": {
"psr-4": {
"Twig\\": "src/"
......@@ -9816,7 +9802,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.5.1"
"source": "https://github.com/twigphp/Twig/tree/v3.6.0"
},
"funding": [
{
......@@ -9828,20 +9814,20 @@
"type": "tidelift"
}
],
"time": "2023-02-08T07:49:20+00:00"
"time": "2023-05-03T19:06:57+00:00"
},
{
"name": "vimeo/psalm",
"version": "5.9.0",
"version": "5.11.0",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
"reference": "8b9ad1eb9e8b7d3101f949291da2b9f7767cd163"
"reference": "c9b192ab8400fdaf04b2b13d110575adc879aa90"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/8b9ad1eb9e8b7d3101f949291da2b9f7767cd163",
"reference": "8b9ad1eb9e8b7d3101f949291da2b9f7767cd163",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/c9b192ab8400fdaf04b2b13d110575adc879aa90",
"reference": "c9b192ab8400fdaf04b2b13d110575adc879aa90",
"shasum": ""
},
"require": {
......@@ -9932,9 +9918,9 @@
],
"support": {
"issues": "https://github.com/vimeo/psalm/issues",
"source": "https://github.com/vimeo/psalm/tree/5.9.0"
"source": "https://github.com/vimeo/psalm/tree/5.11.0"
},
"time": "2023-03-29T21:38:21+00:00"
"time": "2023-05-04T21:35:44+00:00"
},
{
"name": "web-token/jwt-framework",
......
......@@ -22,7 +22,11 @@ accounting-user-oidc-token-revoke-xhr:
accounting-user-logout:
path: /user/logout
controller: SimpleSAML\Module\accounting\Http\Controllers\User\Profile::logout
controller: SimpleSAML\Module\accounting\Http\Controllers\Logout::logout
methods:
- GET
- POST
accounting-logout:
path: /logged-out
controller: SimpleSAML\Module\accounting\Http\Controllers\Logout::loggedOut
\ No newline at end of file
......@@ -16,6 +16,7 @@ class Routes
public const PATH_USER_PERSONAL_DATA = 'user/personal-data';
public const PATH_USER_OIDC_TOKENS = 'user/oidc-tokens';
public const QUERY_REDIRECT_TO_PATH = 'redirectTo';
public const PATH_LOGGED_OUT = 'logged-out';
protected HTTP $sspHttpUtils;
protected Arr $arr;
......
<?php
declare(strict_types=1);
namespace SimpleSAML\Module\accounting\Http\Controllers;
use Psr\Log\LoggerInterface;
use SimpleSAML\Auth\Simple;
use SimpleSAML\Configuration as SspConfiguration;
use SimpleSAML\Error\ConfigurationError;
use SimpleSAML\Error\CriticalConfigurationError;
use SimpleSAML\HTTP\RunnableResponse;
use SimpleSAML\Locale\Translate;
use SimpleSAML\Metadata\MetaDataStorageHandler;
use SimpleSAML\Module\accounting\Data\Providers\Builders\DataProviderBuilder;
use SimpleSAML\Module\accounting\Data\Providers\Interfaces\ActivityInterface;
use SimpleSAML\Module\accounting\Data\Providers\Interfaces\DataProviderInterface;
use SimpleSAML\Module\accounting\Entities\Authentication\Protocol\Oidc;
use SimpleSAML\Module\accounting\Entities\ConnectedService;
use SimpleSAML\Module\accounting\Entities\User;
use SimpleSAML\Module\accounting\Exceptions\Exception;
use SimpleSAML\Module\accounting\Exceptions\InvalidConfigurationException;
use SimpleSAML\Module\accounting\Helpers\Attributes;
use SimpleSAML\Module\accounting\Helpers\ProviderResolver;
use SimpleSAML\Module\accounting\Helpers\Routes;
use SimpleSAML\Module\accounting\ModuleConfiguration;
use SimpleSAML\Module\accounting\ModuleConfiguration\ConnectionType;
use SimpleSAML\Module\accounting\Services\AlertsBag;
use SimpleSAML\Module\accounting\Services\CsrfToken;
use SimpleSAML\Module\accounting\Services\HelpersManager;
use SimpleSAML\Module\accounting\Services\MenuManager;
use SimpleSAML\Module\accounting\Services\SspModuleManager;
use SimpleSAML\Module\oidc\Services\OidcOpenIdProviderMetadataService;
use SimpleSAML\Session;
use SimpleSAML\Utils\Config\Metadata;
use SimpleSAML\XHTML\Template;
use Symfony\Component\HttpFoundation\Cookie;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
/**
* @psalm-suppress UnusedClass Used as route controller.
*/
class Logout
{
protected string $defaultAuthenticationSource;
protected Simple $authSimple;
protected HelpersManager $helpersManager;
protected SspConfiguration $sspConfiguration;
/**
* @param ModuleConfiguration $moduleConfiguration
* @param SspConfiguration $sspConfiguration
* @param Session $session
* @param Simple|null $authSimple
* @param HelpersManager|null $helpersManager
*/
public function __construct(
ModuleConfiguration $moduleConfiguration,
SspConfiguration $sspConfiguration,
Session $session,
Simple $authSimple = null,
HelpersManager $helpersManager = null
) {
$this->defaultAuthenticationSource = $moduleConfiguration->getDefaultAuthenticationSource();
$this->sspConfiguration = $sspConfiguration;
$this->authSimple = $authSimple ?? new Simple($this->defaultAuthenticationSource, $sspConfiguration, $session);
$this->helpersManager = $helpersManager ?? new HelpersManager();
}
public function logout(): Response
{
return new RunnableResponse([$this->authSimple, 'logout'], [$this->getLoggedOutUrl()]);
}
public function loggedOut(): Response
{
return new Template($this->sspConfiguration, 'accounting:logged-out.twig');
}
protected function getLoggedOutUrl(): string
{
return $this->helpersManager->getRoutes()->getUrl(Routes::PATH_LOGGED_OUT);
}
}
......@@ -288,21 +288,6 @@ class Profile
return $userIdentifier;
}
public function logout(): Response
{
return new RunnableResponse([$this->authSimple, 'logout'], [$this->getLogoutUrl()]);
}
protected function getLogoutUrl(): string
{
try {
return $this->sspConfiguration->getBasePath() . 'logout.php';
} catch (CriticalConfigurationError $exception) {
$message = \sprintf('Could not resolve SimpleSAMLphp base path. Error was: %s', $exception->getMessage());
throw new InvalidConfigurationException($message, $exception->getCode(), $exception);
}
}
/**
* Load all attribute map files which translate attribute names to user-friendly name format.
*/
......
<!DOCTYPE html>
<html lang="{{ currentLanguage }}">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
{# <meta name="viewport" content="initial-scale=1.0">#}
{# <meta http-equiv="X-UA-Compatible" content="IE=Edge">#}
<title>{{ pagetitle }}</title>
<link rel="stylesheet" href="{{ asset('css/src/default.css', 'accounting') }}">
<link rel="icon" href="{{ asset("icons/favicon.ico") }}">
<meta name="robots" content="noindex, nofollow">
</head>
<body id="{{ templateId }}">
{% include '@accounting/includes/_header.twig' %}
<section id="main">
<h1>{{ 'Logout successful'|trans }}</h1>
<p><a href="./user/personal-data">{{ 'Go back to Profile Page'|trans }}</a></p>
</section>
</body>
</html>
\ No newline at end of file
<?php
declare(strict_types=1);
namespace SimpleSAML\Test\Module\accounting\Data\Providers\Activity\DoctrineDbal;
use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;
use SimpleSAML\Module\accounting\Data\Providers\Activity\DoctrineDbal\VersionedDataProvider;
use PHPUnit\Framework\TestCase;
use SimpleSAML\Module\accounting\Data\Stores\Accounting\Activity\DoctrineDbal\Versioned\Store;
use SimpleSAML\Module\accounting\Data\Trackers\Interfaces\DataTrackerInterface;
use SimpleSAML\Module\accounting\ModuleConfiguration;
use SimpleSAML\Test\Module\accounting\Constants\ConnectionParameters;
/**
* @covers \SimpleSAML\Module\accounting\Data\Providers\Activity\DoctrineDbal\VersionedDataProvider
* @uses \SimpleSAML\Module\accounting\Data\Stores\Connections\DoctrineDbal\Migrator
* @uses \SimpleSAML\Module\accounting\Data\Stores\Connections\DoctrineDbal\Factory
* @uses \SimpleSAML\Module\accounting\Data\Stores\Connections\DoctrineDbal\Connection
* @uses \SimpleSAML\Module\accounting\Data\Stores\Connections\Bases\AbstractMigrator
* @uses \SimpleSAML\Module\accounting\Data\Stores\Bases\DoctrineDbal\AbstractStore
* @uses \SimpleSAML\Module\accounting\Data\Stores\Bases\AbstractStore
* @uses \SimpleSAML\Module\accounting\Data\Stores\Accounting\Activity\DoctrineDbal\Versioned\Store\Repository
* @uses \SimpleSAML\Module\accounting\Data\Stores\Accounting\Activity\DoctrineDbal\Versioned\Store
* @uses \SimpleSAML\Module\accounting\Data\Stores\Accounting\Bases\DoctrineDbal\Versioned\Store\Repository
* @uses \SimpleSAML\Module\accounting\Data\Stores\Accounting\Bases\DoctrineDbal\Versioned\Store
*/
class VersionedDataProviderTest extends TestCase
{
/**
* @var MockObject
*/
protected $moduleConfigurationMock;
/**
* @var MockObject
*/
protected $loggerMock;
/**
* @var MockObject
*/
protected $storeMock;
protected function setUp(): void
{
$this->moduleConfigurationMock = $this->createMock(ModuleConfiguration::class);
$this->loggerMock = $this->createMock(LoggerInterface::class);
$this->storeMock = $this->createMock(Store::class);
}
protected function prepareMockedInstance(): VersionedDataProvider
{
return new VersionedDataProvider(
$this->moduleConfigurationMock,
$this->loggerMock,
ModuleConfiguration\ConnectionType::SLAVE,
$this->storeMock
);
}
public function testCanCreateInstance(): void
{
$this->assertInstanceOf(VersionedDataProvider::class, $this->prepareMockedInstance());
$connectionParams = ConnectionParameters::DBAL_SQLITE_MEMORY;
$this->moduleConfigurationMock->method('getConnectionParameters')
->willReturn($connectionParams);
$this->assertInstanceOf(VersionedDataProvider::class, VersionedDataProvider::build(
$this->moduleConfigurationMock,
$this->loggerMock,
));
}
public function testNeedsSetup(): void
{
$this->storeMock->method('needsSetup')->willReturn(true);
$this->assertTrue($this->prepareMockedInstance()->needsSetup());
}
public function testDoesNotNeedsSetup(): void
{
$this->storeMock->method('needsSetup')->willReturn(false);
$this->assertFalse($this->prepareMockedInstance()->needsSetup());
}
public function testSetupDoesNotRunWhenNotNeeded(): void
{
$this->storeMock->method('needsSetup')->willReturn(false);
$this->loggerMock->expects($this->once())
->method('warning');
$this->storeMock->expects($this->never())
->method('runSetup');
$this->prepareMockedInstance()->runSetup();
}
public function testSetupRunsWhenNeeded(): void
{
$this->storeMock->method('needsSetup')->willReturn(true);
$this->storeMock->expects($this->once())->method('runSetup');
$this->prepareMockedInstance()->runSetup();
}
public function testGetsActivityFromStore(): void
{
$this->storeMock->expects($this->once())
->method('getActivity')
->with('1', 2, 3);
$this->prepareMockedInstance()->getActivity('1', 2, 3);
}
public function testCanGetTracker(): void
{
$connectionParams = ConnectionParameters::DBAL_SQLITE_MEMORY;
$this->moduleConfigurationMock->method('getConnectionParameters')
->willReturn($connectionParams);
$this->assertInstanceOf(
DataTrackerInterface::class,
$this->prepareMockedInstance()->getTracker()
);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment