# SOME DESCRIPTIVE TITLE. # Copyright (C) 2024, Yaal Coop # This file is distributed under the same license as the canaille package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: canaille 0.0.56\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-22 17:21+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../development/changelog.rst:2 #: 2321f3b3acf14287bec3b91e374b7a4e msgid "Release notes" msgstr "" #: ../development/changelog.rst:4 #: ce54249c983b474c8e0fea402ee7db08 msgid "All notable changes to this project will be documented in there." msgstr "" #: ../development/changelog.rst:6 #: a3295c678f074c63a2a73028fa0cdb24 msgid "The format is based on `Keep a Changelog `_, and this project adheres to `Semantic Versioning `_." msgstr "" #: ../../CHANGES.rst:2 #: e5fa6b4fbd7440ea8c9d4c81ee723400 msgid "[0.0.57] - Unreleased" msgstr "" #: ../../CHANGES.rst:5 #: ../../CHANGES.rst:20 #: ../../CHANGES.rst:48 #: ../../CHANGES.rst:67 #: ../../CHANGES.rst:74 #: ../../CHANGES.rst:93 #: ../../CHANGES.rst:151 #: ../../CHANGES.rst:177 #: ../../CHANGES.rst:192 #: ../../CHANGES.rst:241 #: ../../CHANGES.rst:267 #: ../../CHANGES.rst:286 #: ../../CHANGES.rst:294 #: ../../CHANGES.rst:303 #: ../../CHANGES.rst:327 #: ../../CHANGES.rst:360 #: ../../CHANGES.rst:386 #: ../../CHANGES.rst:433 #: ../../CHANGES.rst:461 #: ../../CHANGES.rst:491 #: ../../CHANGES.rst:547 #: ../../CHANGES.rst:580 #: ../../CHANGES.rst:601 #: ../../CHANGES.rst:611 #: ../../CHANGES.rst:634 #: ../../CHANGES.rst:701 #: ../../CHANGES.rst:739 #: ../../CHANGES.rst:756 #: ../../CHANGES.rst:792 #: 68d7c354e87a417cb210174cdf0caf03 #: 3db0c002c2764afbaee00eb85f608618 #: bcd37e5f6d1c4cd4afd82eadf5d23bce #: 89fc5c0226a445f49244caf1e62d080f #: 19f1711026114064a5bb8d49031510c3 #: 2e29ff42691149fa969ca9fdeb3a4e39 #: 239be472848d430098630a890fe77b5e #: 7e8bb2e384ff418f954ff6dfc16b929b #: 43bc9bb8e77143369f5fc7b14c1abcb9 #: 4aa7554114624a25ab488d3ae36c0081 #: eb81cce526c34574b68be0ae49958436 #: d57353f495f2404ca80a5302e2a33579 #: 864a98b7bc754beea56f6deecd06400f #: 1243783fe4cf470d96f1d99848565ea9 #: da5ebf8438f647868f53e84cc5fa1980 #: 6ad9f25517b34d1e974a37479774c59c #: 182d965a1dde4d95bdbb9617607c588a #: 37a62b2eb4aa4c378f4961b0a96a694c #: ae83441c7d7440ce9bcba1dab44b9e17 #: dc487d8fc4ad4c919b576678475e3579 #: b2a149dbf92b4a269ef3ba3a58d58894 #: 8073c3471b8d4b19a344155e1c8bc7fb #: 0a8ca3f4481e4a48bd29fc5a69fa803c #: 6f1a10debe3e49ebafb5d35d5b582935 #: dff770d00b5c43feb6abe259a6f62233 #: 1ffcab7dcb044a768fec8cec5b4079e9 #: 18a9b586f7924b6b9506fb40695c6f52 #: 536fa76ec5b74cfea65f706328cf399d #: 34242a231a08460183bc15c10ad62416 msgid "Added" msgstr "" #: ../../CHANGES.rst:6 #: 76511a0335094c85885bcba9209552fb msgid "Password compromission check :issue:`179`" msgstr "" #: ../../CHANGES.rst:7 #: 7a7920f8d7a841c185fe3f051f5c9ea8 msgid ":attr:`~canaille.core.configuration.CoreSettings.ADMIN_EMAIL` and :attr:`~canaille.core.configuration.CoreSettings.ENABLE_PASSWORD_COMPROMISSION_CHECK` and :attr:`~canaille.core.configuration.CoreSettings.API_URL_HIBP` :issue:`179`" msgstr "" #: ../../CHANGES.rst:13 #: a8d81bff320f4897acde83bf6b46304f msgid "[0.0.56] - 2024-11-07" msgstr "" #: ../../CHANGES.rst:16 #: ../../CHANGES.rst:58 #: ../../CHANGES.rst:97 #: ../../CHANGES.rst:105 #: ../../CHANGES.rst:113 #: ../../CHANGES.rst:120 #: ../../CHANGES.rst:127 #: ../../CHANGES.rst:141 #: ../../CHANGES.rst:169 #: ../../CHANGES.rst:182 #: ../../CHANGES.rst:200 #: ../../CHANGES.rst:219 #: ../../CHANGES.rst:227 #: ../../CHANGES.rst:253 #: ../../CHANGES.rst:261 #: ../../CHANGES.rst:281 #: ../../CHANGES.rst:311 #: ../../CHANGES.rst:341 #: ../../CHANGES.rst:349 #: ../../CHANGES.rst:373 #: ../../CHANGES.rst:393 #: ../../CHANGES.rst:415 #: ../../CHANGES.rst:425 #: ../../CHANGES.rst:446 #: ../../CHANGES.rst:454 #: ../../CHANGES.rst:477 #: ../../CHANGES.rst:500 #: ../../CHANGES.rst:512 #: ../../CHANGES.rst:521 #: ../../CHANGES.rst:530 #: ../../CHANGES.rst:539 #: ../../CHANGES.rst:559 #: ../../CHANGES.rst:566 #: ../../CHANGES.rst:616 #: ../../CHANGES.rst:624 #: ../../CHANGES.rst:649 #: ../../CHANGES.rst:657 #: ../../CHANGES.rst:665 #: ../../CHANGES.rst:678 #: ../../CHANGES.rst:692 #: ../../CHANGES.rst:724 #: ../../CHANGES.rst:747 #: ../../CHANGES.rst:778 #: c6436e97687f47059a0cee1d524a47e9 #: 9c0f6431917f4a028953286eca0c0cfe #: 93f90bed1a674784a7f5acaeba3f604c #: 106b8093407848da93d18cf1159549d8 #: 9b3353616c1845f7a528a3dd4f29e788 #: c82a0ef7ede341fdaefe086516ddcfa6 #: 0622c64030ba4be4b2f7d4b6868d5cea #: 375079958ff14b0aaca6745e79ae2415 #: 0c43788b676c4e3ea67950a078f16108 #: 1af4b96af7c74d9cb407d9c3d25f22c6 #: 8cb332e78e8b43e3bdfb2ee17391b95f #: 0fd2668c4a06415a82e24ceadbef42d9 #: 767b2db5c1dc40ba9099f108c8892931 #: 9b0c1776d1424188b18a4981e37f503f #: d5ce5edfaa79499d86f18818d1128662 #: 6f01d2ff547b4a7da75fba7505f0c928 #: 5516287260254aaf8546be4b15f813ae #: f560d39a9ab14fcf97370016363e00b9 #: f53f69e009534f16be2d83ae976a4d50 #: 100a1287150746fda66d2d20d86ae28d #: 59be91b9f20d4db2b773253f2af92205 #: 7b414594484a496fa9dc0f900b944fc3 #: c550c697f9f24ccabd597743b065a194 #: 809c6b26372b4afc806bd4cc764ea8c2 #: 9a1154c00a494a8f9faf52e6a321b480 #: c4839a2d52fb4da3aba2021e69a806d9 #: d90b0e85882045c6a7e6775ddaa87320 #: fc28d39c9a564152a86cec53b829168f #: 6414599939fb46b1a93445c2711b3eb3 #: 22d8d9f8912540d3a53620b47668d9f1 #: cc737544941c4404b62295cb26228988 #: 2e6e142a7bae44528009159bf8b912de #: 0b74f6c12571422e8038c272f6786431 #: 48fd64a65440420cb4abddfb33e1960d #: 3d2164df801a46f39778ce191498d823 #: 40564ad34a6d4c2eabfcfc91c14021b1 #: 434aa98010b840a59f0ac1b20d805a36 #: 5a752d2d6a874724b55bfae88cd6b5e1 #: feaaddf40ade4bfdaa734fa4d6867bd6 #: 0f12030c10e348af8002f79e38131c89 #: 50a0c42fe2864a1b82ad62d57c69115e #: 30aecc67e5874f67958c3ad4e590689d #: ca11980027b74148bb955b294b904aed msgid "Fixed" msgstr "" #: ../../CHANGES.rst:17 #: f75ed82ec3464069afb11e411860a098 msgid "With LDAP backend, updating another user groups could result in a permission lost for the editor. :issue:`202`" msgstr "" #: ../../CHANGES.rst:21 #: fa2bfd3a364b42eb819e00e3b6cfe8f6 msgid ":attr:`~canaille.core.configuration.CoreSettings.MAX_PASSWORD_LENGHT` and :attr:`~canaille.core.configuration.CoreSettings.MIN_PASSWORD_LENGHT` configuration options :issue:`174`" msgstr "" #: ../../CHANGES.rst:23 #: c04207e5c1014abc81ac33e46044be68 msgid "Password strength visual indicator :issue:`174`" msgstr "" #: ../../CHANGES.rst:24 #: 76c8b3dc402144e6b76f4f15c4a1dce0 msgid "Security events logs :issue:`177`" msgstr "" #: ../../CHANGES.rst:25 #: 66c0285ecc324619b90ee9580787b42b msgid "Support for Python 3.13 :pr:`186`" msgstr "" #: ../../CHANGES.rst:28 #: ../../CHANGES.rst:41 #: ../../CHANGES.rst:53 #: ../../CHANGES.rst:78 #: ../../CHANGES.rst:86 #: ../../CHANGES.rst:134 #: ../../CHANGES.rst:158 #: ../../CHANGES.rst:210 #: ../../CHANGES.rst:247 #: ../../CHANGES.rst:316 #: ../../CHANGES.rst:332 #: ../../CHANGES.rst:368 #: ../../CHANGES.rst:405 #: ../../CHANGES.rst:440 #: ../../CHANGES.rst:483 #: ../../CHANGES.rst:587 #: ../../CHANGES.rst:641 #: ../../CHANGES.rst:673 #: ../../CHANGES.rst:687 #: 17c200d74dc94e618f5a8f1a4c737892 #: ccb630d62929451d86cfe50c5e9d3b0c #: 90945415d6ba49e2949e6843e363aa54 #: 7e9a9e0fbd27415e911f4d0229e89ce5 #: 5308306c6a9848db85d209a93bf73f10 #: fea433e54cb745aa951c32c5ebf2902b #: 79a0c2512c9b41c4aae6f0242f8cf3ec #: 34ba73a5ce4c471e85dbd5935079eb1b #: 256bc9a8adbb4b908412109831aa2965 #: 6e213464c100494ebfd7cc02300d0a6c #: 9ab07efdabae43da9c5a5f48a49a6eed #: d2b7338ef0cc46e19a020852536f8136 #: 66443c36a4c34c2384b3e053978f305e #: 6eb2ae5f5d0747d6bd769409b69a5df3 #: f16408e600fb4a41a0baca3c45764151 #: 63be612c208b45a4a3456c07bc33480e #: 2def5c51796844b0b6a242eb3161d389 #: 808861ca6acb43c0bb39ebcda59434b7 #: 3525164111a4470c911c4d92538c7891 msgid "Changed" msgstr "" #: ../../CHANGES.rst:29 #: f6dd0f6bfafd4d2b904ed4e6269a101d msgid "Update to HTMX 2.0.3 :pr:`184`" msgstr "" #: ../../CHANGES.rst:30 #: 5483fcfcc96949a5913fcc4fd14977f2 msgid "Migrate from poetry to uv :pr:`187`" msgstr "" #: ../../CHANGES.rst:31 #: 8258ddbb1640406d8f6739a37e94875b msgid "The ``sql`` package extra is now split between ``sqlite``, ``postgresql`` and ``mysql``." msgstr "" #: ../../CHANGES.rst:34 #: ../../CHANGES.rst:378 #: ../../CHANGES.rst:784 #: ff210a53b34e45e2b91b13a776999d67 #: 93a0b2853b2644c3bd42d00d854d614b #: 52a78299c19c4677a74dc0cb2f50c670 msgid "Removed" msgstr "" #: ../../CHANGES.rst:35 #: 740852cc46ee478eb5f3aeb2613acf95 msgid "End support for python 3.9. :pr:`179`" msgstr "" #: ../../CHANGES.rst:38 #: 482c536c76fa4d94b2b30dcc8ee6b541 msgid "[0.0.55] - 2024-08-30" msgstr "" #: ../../CHANGES.rst:42 #: a198bc7ecca541c695b52bc3279f5d31 msgid "Use poetry-core build backend. :pr:`178`" msgstr "" #: ../../CHANGES.rst:45 #: 68fb373964584f1e830fbef217f942e9 msgid "[0.0.54] - 2024-07-25" msgstr "" #: ../../CHANGES.rst:49 #: 5e73dc86053a4be98fc43f61b56ae307 msgid "Group member removal can be achieved from the group edition page :issue:`192`" msgstr "" #: ../../CHANGES.rst:50 #: ebd2fe8625fa4c44bb2f057528712d25 msgid "Model management commands :issue:`117` :issue:`54`" msgstr "" #: ../../CHANGES.rst:54 #: cf2dd6aef9684a878412b58ce961688d msgid "Model `identifier_attributes` are fixed." msgstr "" #: ../../CHANGES.rst:55 #: 03a7ad9d623c408296b6a88abd0ba9ce msgid "Bump to htmx 1.9.12 :pr:`172`" msgstr "" #: ../../CHANGES.rst:60 #: 4df3c65b91dc4ecba3c44d142963c276 msgid "Dark theme colors for better readability" msgstr "" #: ../../CHANGES.rst:61 #: 91c0ae975e544d0ca32cfdaee2fb0e27 msgid "Crash for passwordless users at login when no SMTP server was configured." msgstr "" #: ../../CHANGES.rst:64 #: d8ada9c57f4b44ed815b070924f0937b msgid "[0.0.53] - 2024-04-22" msgstr "" #: ../../CHANGES.rst:68 #: cf9cefa8bf3541a782d9762e069e7ccf msgid "`env_prefix` create_app variable can select the environment var prefix." msgstr "" #: ../../CHANGES.rst:71 #: 1f6cfb92fd364d57b8ed7522c42fc076 msgid "[0.0.52] - 2024-04-22" msgstr "" #: ../../CHANGES.rst:75 #: 1f4573a94d0a421ea02c9d09b66db2c9 msgid "`env_file` create_app variable can customize/disable the .env file" msgstr "" #: ../../CHANGES.rst:79 #: 066410eaab1540eab2776a5fc87504cc msgid "Locked users cannot be impersonated anymore." msgstr "" #: ../../CHANGES.rst:80 #: ace6053c00b74772b52f849bbbae2e31 msgid "Minimum python requirement is 3.9." msgstr "" #: ../../CHANGES.rst:83 #: 22ea6460d2e34b6eb367f3a4e4e3d17b msgid "[0.0.51] - 2024-04-09" msgstr "" #: ../../CHANGES.rst:87 #: 1b7d91a9d02f4cabbef111079d39b344 msgid "Display the menu bar on error pages." msgstr "" #: ../../CHANGES.rst:90 #: 78fed34f5122433bbe6021b31638194e msgid "[0.0.50] - 2024-04-09" msgstr "" #: ../../CHANGES.rst:94 #: f7cb34791e1e4380a57e373b1b087925 msgid "Sign in/out events are logged in :issue:`177`" msgstr "" #: ../../CHANGES.rst:98 #: 45c11baa1194416dbc2d41264b74a2e5 msgid "HTMX and JAVASCRIPT configuration settings." msgstr "" #: ../../CHANGES.rst:99 #: 8deccea079c84b3bae3f56912bc22ce6 msgid "Compatibility with old sessions IDs." msgstr "" #: ../../CHANGES.rst:102 #: 54b31975f2074e42a3e408198c5dcfaa msgid "[0.0.49] - 2024-04-08" msgstr "" #: ../../CHANGES.rst:106 #: 2540f82b704b458a8d36f0e4315c7dfc msgid "LDAP user group removal." msgstr "" #: ../../CHANGES.rst:107 #: fd4408f9b27d423d89bef78c94129312 msgid "Display an error message when trying to remove the last user from a group." msgstr "" #: ../../CHANGES.rst:110 #: 78661756213542da9bfc0d1f0132699b msgid "[0.0.48] - 2024-04-08" msgstr "" #: ../../CHANGES.rst:114 #: 1e0516ca6b0749f5b1d9607cc7a25d36 msgid "LDAP objectClass guessing exception." msgstr "" #: ../../CHANGES.rst:117 #: 1fcba77b03424826a405e4ea54fff663 msgid "[0.0.47] - 2024-04-08" msgstr "" #: ../../CHANGES.rst:121 #: 82668bcaf18a44128f17457d5362ba4f msgid "Lazy permission loading exception." msgstr "" #: ../../CHANGES.rst:124 #: 4fb3b475ce0c4cec9e20ce04636b6b3c msgid "[0.0.46] - 2024-04-08" msgstr "" #: ../../CHANGES.rst:128 #: dd7382397fe542578854431f6e6bbf89 msgid "Saving an object with the LDAP backend keeps the objectClass un-managed by Canaille. :pr:`171`" msgstr "" #: ../../CHANGES.rst:131 #: ee059b69e1a9440abadc77ec40e25d80 msgid "[0.0.45] - 2024-04-04" msgstr "" #: ../../CHANGES.rst:135 #: 9d61e5909fd643d592725db933b4912b msgid "Internal indexation mechanism of :class:`~canaille.backends.memory.model.MemoryModel`" msgstr "" #: ../../CHANGES.rst:138 #: 39bf7adeb4194a858226346c50be08d6 msgid "[0.0.44] - 2024-03-29" msgstr "" #: ../../CHANGES.rst:142 #: ea00e8ce44a64df9b11922ddfc6ccc3c msgid "Fix the default LDAP USER_FILTER value" msgstr "" #: ../../CHANGES.rst:143 #: 0f88fd65e349426396cb3c052bd83db1 msgid "Fix the OIDC feature detection" msgstr "" #: ../../CHANGES.rst:146 #: 9bd6a349d9d9490ca91a4f56d46b0078 msgid "[0.0.43] - 2024-03-29" msgstr "" #: ../../CHANGES.rst:148 #: 11358334470d4f3bb392389cf9748f48 msgid "🚨Configuration files must be updated.🚨" msgstr "" #: ../../CHANGES.rst:153 #: 33ac5da8d5a1410997fd6155fa994f3d msgid "Add `created` and `last_modified` datetime for all models" msgstr "" #: ../../CHANGES.rst:154 #: c5ed8ff0b9544920a0fb9a99488d6d0b msgid "Sitemap to the documentation :pr:`169`" msgstr "" #: ../../CHANGES.rst:155 #: 3fc68ed436e9488a87dab37f5bfcb326 msgid "Configuration management with pydantic-settings :issue:`138` :pr:`170`" msgstr "" #: ../../CHANGES.rst:160 #: e7cd01ae7a064316b55271464c73cdbb msgid "Use default python logging configuration format. :issue:`188` :pr:`165`" msgstr "" #: ../../CHANGES.rst:161 #: f8080d1def124e02a5ebd401743bcc53 msgid "Bump to htmx 1.99.11 :pr:`166`" msgstr "" #: ../../CHANGES.rst:162 #: 76e9e2d0d2de4f39a3f6e0408f91b393 msgid "Use the standard tomllib python module instead of `toml` starting from python 3.11 :pr:`167`" msgstr "" #: ../../CHANGES.rst:163 #: 72c0df8635b84899b60dbb2d65aaf1f6 msgid "Use shibuya as the documentation theme :pr:`168`" msgstr "" #: ../../CHANGES.rst:166 #: 412f31b588a24d38908f57d0ce04f22c msgid "[0.0.42] - 2023-12-29" msgstr "" #: ../../CHANGES.rst:171 #: 0db77ffe1665459c916b8cff8ea6fc17 msgid "Avoid to fail on imports if ``cryptography`` is missing." msgstr "" #: ../../CHANGES.rst:174 #: 83e78090be5f4b408da07f6bd3214e08 msgid "[0.0.41] - 2023-12-25" msgstr "" #: ../../CHANGES.rst:179 #: cd301be9e1344aa6ba52861605f2752e msgid "OIDC `prompt=create` support. :issue:`185` :pr:`164`" msgstr "" #: ../../CHANGES.rst:184 #: 8edd4079d06045c58f5dd79b88abb9c1 msgid "Correctly set up Client audience during OIDC dynamic registration." msgstr "" #: ../../CHANGES.rst:185 #: 7f3a5c2a265e400b86e4e7d7114702f1 msgid "``post_logout_redirect_uris`` was ignored during OIDC dynamic registration." msgstr "" #: ../../CHANGES.rst:186 #: 4deda78d230841f7a8c54af66d2338a9 msgid "Group field error prevented the registration form validation." msgstr "" #: ../../CHANGES.rst:189 #: 1608e0d53771494eaa24bd709cee852a msgid "[0.0.40] - 2023-12-22" msgstr "" #: ../../CHANGES.rst:194 #: 17f8d278ee504c86b62b04a6f6c82d57 msgid "``THEME`` can be a relative path" msgstr "" #: ../../CHANGES.rst:197 #: f76c25c375504e1d9595c39a74f0596f msgid "[0.0.39] - 2023-12-15" msgstr "" #: ../../CHANGES.rst:202 #: ddaa080da0944c8eba445e035d9bbeee msgid "Crash when no ACL were defined" msgstr "" #: ../../CHANGES.rst:203 #: 96df0449be4a45d88e16244d6d67524d msgid "OIDC Userinfo endpoint is also available in POST" msgstr "" #: ../../CHANGES.rst:204 #: 85178af1d47b4994b59cdc3fe012cd67 msgid "Fix redirection after password reset :issue:`159`" msgstr "" #: ../../CHANGES.rst:207 #: 8177fe55aa064e5da95528c84c136865 msgid "[0.0.38] - 2023-12-15" msgstr "" #: ../../CHANGES.rst:212 #: 9a79b773e59941fb8e77b7ac348d168a msgid "Convert all the png in webp. :pr:`162`" msgstr "" #: ../../CHANGES.rst:213 #: 0fcf3cc59cdc49ba829f0c017026a353 msgid "Update to flask 3 :issue:`161` :pr:`163`" msgstr "" #: ../../CHANGES.rst:216 #: 7f12675bc88c462e8700ab4dcf575e1b msgid "[0.0.37] - 2023-12-01" msgstr "" #: ../../CHANGES.rst:221 #: 285b8426823745eaaa2ea95a1c9a65c6 msgid "Handle 4xx and 5xx error codes with htmx. :issue:`171` :pr:`161`" msgstr "" #: ../../CHANGES.rst:224 #: bca127d497be434ba465b05314a3adb4 msgid "[0.0.36] - 2023-12-01" msgstr "" #: ../../CHANGES.rst:229 #: fe53a804255549689149c731033fcdbf msgid "Avoid crashing when LDAP groups references unexisting users." msgstr "" #: ../../CHANGES.rst:230 #: 46a4aca17d94478793eb940b1253146d msgid "Password reset and initialization mails were only sent to the preferred user email address." msgstr "" #: ../../CHANGES.rst:232 #: 72414136fedd43d48ab641e9a2ba5135 msgid "Password reset and initialization mails were not sent at all the user addresses if one email address could not be reached." msgstr "" #: ../../CHANGES.rst:234 #: f5e9a14265cc469b98047dda5a5940ae msgid "Password comparison was too permissive on login." msgstr "" #: ../../CHANGES.rst:235 #: 96a3afb6e07e4265905bfff45f16fca1 msgid "Encrypt passwords in the SQL backend." msgstr "" #: ../../CHANGES.rst:238 #: d8b0b1f939ac4cfabfe856f124668efa msgid "[0.0.35] - 2023-11-25" msgstr "" #: ../../CHANGES.rst:243 #: 4c4a1aaa53c84089bbdbacfdd7a93cd7 msgid "Refresh token grant supports other client authentication methods. :pr:`157`" msgstr "" #: ../../CHANGES.rst:244 #: d38a9d2c989f477b830453bb91a3ce30 msgid "Implement a SQLAlchemy backend. :issue:`30` :pr:`158`" msgstr "" #: ../../CHANGES.rst:249 #: e07fa26da7c04af284538253149c5c8e msgid "Model attributes cardinality is closer to SCIM model. :pr:`155`" msgstr "" #: ../../CHANGES.rst:250 #: ac6b644acebb4bbb8144ee39178bb7e0 msgid "Bump to htmx 1.9.9 :pr:`159`" msgstr "" #: ../../CHANGES.rst:255 #: 36303be4013a4ab98ca76c352237b480 msgid "Disable HTMX boosting during the OIDC dance. :pr:`160`" msgstr "" #: ../../CHANGES.rst:258 #: c99e8701c9234a63bdd47ef72f94de9e msgid "[0.0.34] - 2023-10-02" msgstr "" #: ../../CHANGES.rst:263 #: f47eb19208d840ed8759e38a8d22776c msgid "Canaille installations without account lockabilty could not delete users. :pr:`153`" msgstr "" #: ../../CHANGES.rst:269 #: 9b398e268d54490a9837a541ae6acd11 msgid "If users register or authenticate during a OAuth Authorization phase, they get redirected back to that page afterwards. :issue:`168` :pr:`151`" msgstr "" #: ../../CHANGES.rst:272 #: 5ca22758e22842fd9eadaba370538cf3 msgid "flask-babel and pytz are now part of the `front` extras" msgstr "" #: ../../CHANGES.rst:273 #: 54883b5b1e4c4c82a6ff40eddec5d876 msgid "Bump to fomantic-ui 2.9.3 :pr:`152`" msgstr "" #: ../../CHANGES.rst:274 #: eeef63797d064f27a336fdae4df02eb2 msgid "Bump to htmx 1.9.6 :pr:`154`" msgstr "" #: ../../CHANGES.rst:275 #: 728d7adbfc804d69b74b855aa7a94506 msgid "Add support for python 3.12 :pr:`155`" msgstr "" #: ../../CHANGES.rst:278 #: 6e3906ced8b443b98f63ace838a7c6d7 msgid "[0.0.33] - 2023-08-26" msgstr "" #: ../../CHANGES.rst:283 #: e53d000ae77e40cd9e2424921f2a408b msgid "OIDC jwks endpoint do not return empty kid claim" msgstr "" #: ../../CHANGES.rst:288 #: f9abbef1c06546c69c1cea00a196ba97 msgid "Documentation details on the canaille models." msgstr "" #: ../../CHANGES.rst:291 #: 6cf47b850381418993ea52a424e5b5d7 msgid "[0.0.32] - 2023-08-17" msgstr "" #: ../../CHANGES.rst:296 #: beae54bdce4542878dc63551a2b70c12 msgid "Additional inmemory backend :issue:`30` :pr:`149`" msgstr "" #: ../../CHANGES.rst:297 #: 9f9ba3da7310492ca4a75f838efacc32 msgid "Installation extras :issue:`167` :pr:`150`" msgstr "" #: ../../CHANGES.rst:300 #: 61e8ad0f797e40d2bf74c865be912ced msgid "[0.0.31] - 2023-08-15" msgstr "" #: ../../CHANGES.rst:305 #: 0a701d5de457451c84ef900cc3fef867 msgid "Configuration option to disable the forced usage of OIDC nonce :pr:`143`" msgstr "" #: ../../CHANGES.rst:306 #: 09976b3b14dd47fcb0b95ac50ee964b9 msgid "Validate phone numbers with a regex :pr:`146`" msgstr "" #: ../../CHANGES.rst:307 #: f422b0b42b6b41b69437d02988f560aa msgid "Email verification :issue:`41` :pr:`147`" msgstr "" #: ../../CHANGES.rst:308 #: c4949bfe2646408f88520bb34ab3ba7c msgid "Account registration :issue:`55` :pr:`133` :pr:`148`" msgstr "" #: ../../CHANGES.rst:313 #: 222752c19a884c7c8e7526f6aae81387 msgid "The `check` command uses the default configuration values." msgstr "" #: ../../CHANGES.rst:318 #: 0295613b5cec412e8bbd5bd720e09665 msgid "Modals do not need use javascript at the moment. :issue:`158` :pr:`144`" msgstr "" #: ../../CHANGES.rst:321 #: 35f7f7fc88ab4085bc98cbda4c158655 msgid "[0.0.30] - 2023-07-06" msgstr "" #: ../../CHANGES.rst:323 #: 8497fb120e46418489f5966c89260726 msgid "🚨Configuration files must be updated.🚨 Check the new format with ``git diff 0.0.29 0.0.30 canaille/conf/config.sample.toml``" msgstr "" #: ../../CHANGES.rst:329 #: e3c929900cb94378ace985c675b00426 msgid "Configuration option to disable javascript :pr:`141`" msgstr "" #: ../../CHANGES.rst:334 #: 1654a3c769454610bad6c45c115842d9 msgid "Configuration ``USER_FILTER`` is parsed with jinja." msgstr "" #: ../../CHANGES.rst:335 #: 1d9fa53b5d924c899ab9a2de17293f28 msgid "Configuration use ``PRIVATE_KEY_FILE`` instead of ``PRIVATE_KEY`` and ``PUBLIC_KEY_FILE`` instead of ``PUBLIC_KEY``" msgstr "" #: ../../CHANGES.rst:338 #: a9ee235c196d4cc382336efdbfcbcd32 msgid "[0.0.29] - 2023-06-30" msgstr "" #: ../../CHANGES.rst:343 #: 7dc80b4f731d45ed82edfef699eea179 msgid "Disabled HTMX boosting on OIDC forms to avoid errors." msgstr "" #: ../../CHANGES.rst:346 #: 75d600b0d9cb4fe080fff1f600081680 msgid "[0.0.28] - 2023-06-30" msgstr "" #: ../../CHANGES.rst:351 #: 082f3fec66aa4026ae6b035f0d3930f0 msgid "A template variable was misnamed." msgstr "" #: ../../CHANGES.rst:354 #: 2d4a7bf5eb5b43e8bec63408fcf193f0 msgid "[0.0.27] - 2023-06-29" msgstr "" #: ../../CHANGES.rst:356 #: 131f26c6b3e8454c8daf2492788a1843 msgid "🚨Configuration files must be updated.🚨 Check the new format with ``git diff 0.0.26 0.0.27 canaille/conf/config.sample.toml``" msgstr "" #: ../../CHANGES.rst:362 #: c0a5ffd3ca674178b3f611def9fe24e1 msgid "Configuration entries can be loaded from files if the entry key has a *_FILE* suffix and the entry value is the path to the file. :issue:`134` :pr:`134`" msgstr "" #: ../../CHANGES.rst:364 #: 7cdfeadd260443ba93aa4316a058a132 msgid "Field list support. :issue:`115` :pr:`136`" msgstr "" #: ../../CHANGES.rst:365 #: 9f460259932a4e4fae39173cda01de2a msgid "Pages are boosted with HTMX :issue:`144` :issue:`145` :pr:`137`" msgstr "" #: ../../CHANGES.rst:370 #: 400513d9b1dc4753be195a1dd668cc3b msgid "Bump to jquery 3.7.0 :pr:`138`" msgstr "" #: ../../CHANGES.rst:375 #: c06348c1f8dd487889aadf81e232d5aa msgid "Profile edition when the user RDN was not ``uid`` :issue:`148` :pr:`139`" msgstr "" #: ../../CHANGES.rst:380 #: af226ed2ac794de1b28df7b8346e9721 msgid "Stop support for python 3.7 :pr:`131`" msgstr "" #: ../../CHANGES.rst:383 #: 84673f0a17654b8b8e27a2a549b81593 msgid "[0.0.26] - 2023-06-03" msgstr "" #: ../../CHANGES.rst:388 #: 8b12e95f472e4feebf4f25a0c8c4aca7 msgid "Implemented account expiration based on OpenLDAP ppolicy overlay. Needs OpenLDAP 2.5+ :issue:`13` :pr:`118`" msgstr "" #: ../../CHANGES.rst:390 #: eac835587147487481476bc01c17ada9 msgid "Timezone configuration entry. :issue:`137` :pr:`130`" msgstr "" #: ../../CHANGES.rst:395 #: 15c83d445e564f4ba4e3a63e0be4d43b msgid "Avoid setting ``None`` in JWT claims when they have no value." msgstr "" #: ../../CHANGES.rst:396 #: eaffa225744b4840a42da427162e2785 msgid "Display password recovery button on OIDC login page. :pr:`129`" msgstr "" #: ../../CHANGES.rst:399 #: addc305664094b5481aea4773d1e0fed msgid "[0.0.25] - 2023-05-05" msgstr "" #: ../../CHANGES.rst:401 #: cfe53ed735fa4fc28795a364755afacc msgid "🚨Configuration files must be updated.🚨 Check the new format with ``git diff 0.0.25 0.0.24 canaille/conf/config.sample.toml``" msgstr "" #: ../../CHANGES.rst:407 #: 3cb07e6c5be34134be6b573c5f576f3f msgid "Renamed user model attributes to match SCIM naming convention. :pr:`123`" msgstr "" #: ../../CHANGES.rst:408 #: 40cafb901cfa48e2b60eb3c5aeb640ea msgid "Moved OIDC related configuration entries in ``OIDC``" msgstr "" #: ../../CHANGES.rst:409 #: d7d52425e9ef4ffa888ecbb06496ec24 msgid "Moved ``LDAP`` configuration entry to ``BACKENDS.LDAP``" msgstr "" #: ../../CHANGES.rst:410 #: e024da00819b46b996d269415e8d171d msgid "Bumped to htmx 1.9.0 :pr:`124`" msgstr "" #: ../../CHANGES.rst:411 #: 9d8b7a6a251043389403b53f9090e709 msgid "ACL filters are no more LDAP filters but user attribute mappings. :pr:`125`" msgstr "" #: ../../CHANGES.rst:412 #: 2c35b0cb84dd4334857ec96f44faeeeb msgid "Bumped to htmx 1.9.2 :pr:`127`" msgstr "" #: ../../CHANGES.rst:417 #: 01e98f5b734046e5ad238fdf6c329b65 msgid "``OIDC.JWT.MAPPING`` configuration entry is really optional now." msgstr "" #: ../../CHANGES.rst:418 #: 58b8d01fb9ce4f8caf84c7d54867f8f3 msgid "Fixed empty model attributes registration :pr:`125`" msgstr "" #: ../../CHANGES.rst:419 #: 54425718a4fd43aba3c78e6762d5e9c4 msgid "Password initialization mails were not correctly sent. :pr:`128`" msgstr "" #: ../../CHANGES.rst:422 #: 301adcf1323a448db7436b7556b819c8 msgid "[0.0.24] - 2023-04-07" msgstr "" #: ../../CHANGES.rst:427 #: 0901c7eb5ef7455db93d0336cf16300b msgid "Fixed avatar update. :pr:`122`" msgstr "" #: ../../CHANGES.rst:430 #: 11388c0443524dbc9baa843f713e82c7 msgid "[0.0.23] - 2023-04-05" msgstr "" #: ../../CHANGES.rst:435 #: 0c2bdb0a35b348309be8da2460dda465 msgid "Organization field. :pr:`116`" msgstr "" #: ../../CHANGES.rst:436 #: 52afa1e2c6814f9881128dedeec00414 msgid "ETag and Last-Modified headers on user photos. :pr:`116`" msgstr "" #: ../../CHANGES.rst:437 #: d7493b75d8284eadb201a0d1fba5dcbb msgid "Dynamic form validation :pr:`120`" msgstr "" #: ../../CHANGES.rst:442 #: 8b45c11bf3864bbca2cb34e0a7a2d069 msgid "UX rework. Submenu addition. :pr:`114`" msgstr "" #: ../../CHANGES.rst:443 #: d8888dcbb64144c597042aec7db36e4d msgid "Properly handle LDAP date timezones. :pr:`117`" msgstr "" #: ../../CHANGES.rst:448 #: abf36244db5b4f8cb0192e8a9ca322f9 msgid "CSRF protection on every forms. :pr:`119`" msgstr "" #: ../../CHANGES.rst:451 #: c685cf95e47e43e39eb275d9e7615973 msgid "[0.0.22] - 2023-03-13" msgstr "" #: ../../CHANGES.rst:455 #: 25623d11da5b4fd4be340036135cae8c msgid "faker is not imported anymore when the `clean` command is called." msgstr "" #: ../../CHANGES.rst:458 #: d63a34b4a08b4537807f53540edcd101 msgid "[0.0.21] - 2023-03-12" msgstr "" #: ../../CHANGES.rst:463 #: 31fc708ea1be424eb6cc3145abb99d31 msgid "Display TOS and policy URI on the consent list page. :pr:`102`" msgstr "" #: ../../CHANGES.rst:464 #: af78e647f0424db38b885b41592c3370 msgid "Admin token deletion :pr:`100` :pr:`101`" msgstr "" #: ../../CHANGES.rst:465 #: f4d5fda7ea8e4c2ba7377125e2aefd5a msgid "Revoked consents can be restored. :pr:`103`" msgstr "" #: ../../CHANGES.rst:466 #: 64879f34805f48f69bbf6f5012176265 msgid "Pre-consented clients are displayed in the user consent list, and their consents can be revoked. :issue:`69` :pr:`103`" msgstr "" #: ../../CHANGES.rst:468 #: b2f9b8bb74ff47daa8010a6472ce0c30 msgid "A ``populate`` command can be used to fill the database with random users generated with faker. :pr:`105`" msgstr "" #: ../../CHANGES.rst:470 #: b2b5fef1ac5c44178d2d2894645593f5 msgid "SMTP SSL support. :pr:`108`" msgstr "" #: ../../CHANGES.rst:471 #: ad6af1ee42184abd8ea3351628c1cac9 msgid "Server side pagination. :issue:`114` :pr:`111`" msgstr "" #: ../../CHANGES.rst:472 #: 4c3ef76329084cacb999daf99b1076fe msgid "Department number support. :issue:`129`" msgstr "" #: ../../CHANGES.rst:473 #: 434a6690f72a4115ae3237559db0f2c4 msgid "Address edition support (but not in the OIDC claims yet) :pr:`112`" msgstr "" #: ../../CHANGES.rst:474 #: d930165b44bb4fe28a40469d96d4de65 msgid "Title edition support :pr:`113`" msgstr "" #: ../../CHANGES.rst:479 #: 49519ddcfb26488cb1803f9e59c03174 msgid "Client deletion also deletes related Consent, Token and AuthorizationCode objects. :issue:`126` :pr:`98`" msgstr "" #: ../../CHANGES.rst:485 #: 9591b382aab04b44bb72da8480fcf25f msgid "Removed datatables." msgstr "" #: ../../CHANGES.rst:488 #: 47ffac05b2734f7599c60f70fe9326a4 msgid "[0.0.20] - 2023-01-28" msgstr "" #: ../../CHANGES.rst:493 #: 10d42ae681614ea488e6d07e75bb7cc7 msgid "Spanish translation. :pr:`85` :pr:`88`" msgstr "" #: ../../CHANGES.rst:494 #: 9891ff9d9ed34685aebfd5d3acc4bae1 msgid "Dedicated connectivity test email :pr:`89`" msgstr "" #: ../../CHANGES.rst:495 #: 80ce05f77ae74909890f9eb358b44c5a msgid "Update to jquery 3.6.3 :pr:`90`" msgstr "" #: ../../CHANGES.rst:496 #: ff21da5bd61e4f0ab07afc31e56b73dc msgid "Update to fomantic-ui 2.9.1 :pr:`90`" msgstr "" #: ../../CHANGES.rst:497 #: aca0aabe64db4f4db27f0ca9949b404e msgid "Update to datatables 1.13.1 :pr:`90`" msgstr "" #: ../../CHANGES.rst:502 #: 88382a6314864edd81ec2353f1450de9 msgid "Fix typos and grammar errors. :pr:`84`" msgstr "" #: ../../CHANGES.rst:503 #: 6f56cda577ea46d98288f1585490bfe3 msgid "Fix wording and punctuations. :pr:`86`" msgstr "" #: ../../CHANGES.rst:504 #: ef731975e4e24d3eb3bafa2f59e71c21 msgid "Fix HTML lang tag :issue:`122` :pr:`87`" msgstr "" #: ../../CHANGES.rst:505 #: eff8d1037e2d4c29961afac8c1c4da52 msgid "Automatically trims the HTML translated strings. :pr:`91`" msgstr "" #: ../../CHANGES.rst:506 #: cf3bed5229a043939a25fc83821619f0 msgid "Fixed dynamic registration scope management. :issue:`123` :pr:`93`" msgstr "" #: ../../CHANGES.rst:509 #: 1bb3628281ec4cc18bb2eef33ec3f9e8 msgid "[0.0.19] - 2023-01-14" msgstr "" #: ../../CHANGES.rst:514 #: 8a630089323d42c782a476765cb05d21 msgid "Ensures the token `expires_in` claim and the `access_token` `exp` claim have the same value. :pr:`83`" msgstr "" #: ../../CHANGES.rst:518 #: 7ce903b7fb5d49bda0fcc61d112d9cb7 msgid "[0.0.18] - 2022-12-28" msgstr "" #: ../../CHANGES.rst:523 #: eb598fdbf703465986707e080da6827a msgid "OIDC end_session was not returning the ``state`` parameter in the ``post_logout_redirect_uri`` :pr:`82`" msgstr "" #: ../../CHANGES.rst:527 #: 34a5a8d6d7e340c39fbd2851284a276d msgid "[0.0.17] - 2022-12-26" msgstr "" #: ../../CHANGES.rst:532 #: cdd95cfd920948abb2984275e8cf87d3 msgid "Fixed group deletion button. :pr:`80`" msgstr "" #: ../../CHANGES.rst:533 #: 1ce782b5fdc64ea4952ad1de9bec9af8 msgid "Fixed post requests in oidc clients views. :pr:`81`" msgstr "" #: ../../CHANGES.rst:536 #: b19cb6e6a9234875bb24b074d6e32fa8 msgid "[0.0.16] - 2022-12-15" msgstr "" #: ../../CHANGES.rst:541 #: 4026b49aaec14d04a1b9c94c62dba1f7 msgid "Fixed LDAP operational attributes handling." msgstr "" #: ../../CHANGES.rst:544 #: 82d7e4549e994e9f9a269601d1b31186 msgid "[0.0.15] - 2022-12-15" msgstr "" #: ../../CHANGES.rst:549 #: 7a91366f4d7c4644a253118355c864e6 msgid "User can chose their favourite display name. :pr:`77`" msgstr "" #: ../../CHANGES.rst:550 #: c3c588c0740443209e5d30dd9e4b63e7 msgid "Bumped to authlib 1.2. :pr:`78`" msgstr "" #: ../../CHANGES.rst:551 #: e52e34bd7e8a45cb8c3440bb94e71328 msgid "Implemented RFC7592 OAuth 2.0 Dynamic Client Registration Management Protocol :pr:`79`" msgstr "" #: ../../CHANGES.rst:553 #: b048668f98924027963eb5fa4759651f msgid "Added ``nonce`` to the ``claims_supported`` server metadata list." msgstr "" #: ../../CHANGES.rst:556 #: 7ad90b4df3dc4bcdad973cca13ca9062 msgid "[0.0.14] - 2022-11-29" msgstr "" #: ../../CHANGES.rst:560 #: 664ba7b255d94ffcae4c68c5f332f019 msgid "Fixed translation mo files packaging." msgstr "" #: ../../CHANGES.rst:563 #: cb4f5961889c489f95a63f7c5f191724 msgid "[0.0.13] - 2022-11-21" msgstr "" #: ../../CHANGES.rst:568 #: c973b03b1f1647d98a55cac09ff4a241 msgid "Fixed a bug on the contacts field in the admin client form following the LDAP schema update of 0.0.12" msgstr "" #: ../../CHANGES.rst:570 #: a91b692f8ae3406cbbee8bee881bb31b msgid "Fixed a bug happening during RP initiated logout on clients without `post_logout_redirect_uri` defined." msgstr "" #: ../../CHANGES.rst:572 #: 1475c8ca3ada44bf95bff4eaa5402da4 msgid "Gitlab CI fix. :pr:`64`" msgstr "" #: ../../CHANGES.rst:573 #: 4a86a86df8f74804b63df8facf898bbc msgid "Fixed `client_secret` display on the client administration page. :pr:`65`" msgstr "" #: ../../CHANGES.rst:574 #: 05ff5ac4d43041d99bc9801914626146 msgid "Fixed non-square logo CSS. :pr:`67`" msgstr "" #: ../../CHANGES.rst:575 #: 0cf118c440984c16bcd3b74fc7658d64 msgid "Fixed schema path on installation. :pr:`68`" msgstr "" #: ../../CHANGES.rst:576 #: 1655349340a84da0a86f706168109afa msgid "Fixed RFC7591 ``software_statement`` claim support. :pr:`70`" msgstr "" #: ../../CHANGES.rst:577 #: 1762cb46c3e24b9bb642d9461bc511f2 msgid "Fixed client preconsent disabling. :pr:`72`" msgstr "" #: ../../CHANGES.rst:582 #: 5731227ecd8046408abefb000ea360fe msgid "Python 3.11 support. :pr:`61`" msgstr "" #: ../../CHANGES.rst:583 #: 184a123e682c4ec9bc45b936911c6acf msgid "apparmor slapd configuration instructions in CONTRIBUTING.rst :pr:`66`" msgstr "" #: ../../CHANGES.rst:584 #: 4daf2684781545aa96f935a1858f2c3e msgid "``preferredLanguage`` attribute support. :pr:`75`" msgstr "" #: ../../CHANGES.rst:589 #: 251bc4ce0edc47839f696c9825ca0c43 msgid "Replaced the use of the deprecated `FLASK_ENV` environment variable by `FLASK_DEBUG`." msgstr "" #: ../../CHANGES.rst:591 #: 5830f58321214ac58998c8d20106e9d2 msgid "Dynamically generate the server metadata. Users won't have to copy and manually edit ``oauth-authorizationserver.json`` and ``openid-configuration.json``. :pr:`71`" msgstr "" #: ../../CHANGES.rst:594 #: 05b9d38cee1148e4baec3a188e7f75ac msgid "The `FROM_ADDR` configuration option is not mandatory anymore. :pr:`73`" msgstr "" #: ../../CHANGES.rst:595 #: 04bda2d6ee5546c29707443f2a7a39b4 msgid "The `JWT.ISS` configuration option is not mandatory anymore. :pr:`74`" msgstr "" #: ../../CHANGES.rst:598 #: 05081a69d8af4084a61ee02ec11581c0 msgid "[0.0.12] - 2022-10-24" msgstr "" #: ../../CHANGES.rst:603 #: 83d06351d66349b9b57fc8db923e9a5c msgid "Basic WebFinger endpoint. :pr:`59`" msgstr "" #: ../../CHANGES.rst:604 #: 1b70c118e9d449bea624c26f24030e0c msgid "Bumped to FomanticUI 2.9.0 00ffffee" msgstr "" #: ../../CHANGES.rst:605 #: 88662a0575d342f89102c38df931fa42 msgid "Implemented Dynamic Client Registration :pr:`60`" msgstr "" #: ../../CHANGES.rst:608 #: e6c3c80259be4e9293d0fcadeafd6033 msgid "[0.0.11] - 2022-08-11" msgstr "" #: ../../CHANGES.rst:613 #: 57c516c14a5e497bb8e13783ab9f42e6 msgid "Default theme has a dark variant. :pr:`57`" msgstr "" #: ../../CHANGES.rst:618 #: bc085ca856774801b82edcaf328b0e1f msgid "Fixed missing ``canaille`` binary. :pr:`58`" msgstr "" #: ../../CHANGES.rst:621 #: f80c6ab803b244eab18e4aacccddeee1 msgid "[0.0.10] - 2022-07-07" msgstr "" #: ../../CHANGES.rst:626 #: d9e4b647949749a49bbc7343242b9b41 msgid "Online demo. :pr:`55`" msgstr "" #: ../../CHANGES.rst:627 #: fb7efb3fe5b7456e823bbf848c007896 msgid "The consent page was displaying scopes not supported by clients. :pr:`56`" msgstr "" #: ../../CHANGES.rst:628 #: fca7e3fb7b814e37b3ba80d19b3620b6 msgid "Fixed end session when user are already disconnected." msgstr "" #: ../../CHANGES.rst:631 #: 6cd8971baffc448f8189240cc374230a msgid "[0.0.9] - 2022-06-05" msgstr "" #: ../../CHANGES.rst:636 #: 03ffc28964ef4b2a9cc0c910005d9979 msgid "``DISABLE_PASSWORD_RESET`` configuration option to disable password recovery. :pr:`46`" msgstr "" #: ../../CHANGES.rst:637 #: 77f1cd9392c0410491ad63481e8a2e8c msgid "``edit_self`` ACL permission to control user self edition. :pr:`47`" msgstr "" #: ../../CHANGES.rst:638 #: 6ca2d27bbd27411b8c7155b57c27731a msgid "Implemented RP-initiated logout :pr:`54`" msgstr "" #: ../../CHANGES.rst:643 #: 95719f2ea2b04cadb7cd1630d6d49de6 msgid "Bumped to authlib 1 :pr:`48`" msgstr "" #: ../../CHANGES.rst:644 #: 01a07986d875439b9276e4d0de60e339 msgid "documentation improvements :pr:`50`" msgstr "" #: ../../CHANGES.rst:645 #: a2b5f7c068ba4dc3a911965618c22cd8 msgid "use poetry instead of setuptools :pr:`51`" msgstr "" #: ../../CHANGES.rst:646 #: 920f0d2bce9f4f3d85c74bfef8c885a4 msgid "additional nonce tests :pr:`52`" msgstr "" #: ../../CHANGES.rst:650 #: 8ba476078ac4416d95a411a1b4d1976e msgid "``HIDE_INVALID_LOGIN`` behavior and default value." msgstr "" #: ../../CHANGES.rst:651 #: 07fc00fb5c7e4fa68dee7bff41a07844 msgid "mo files are not versioned anymore :pr:`49` :pr:`53`" msgstr "" #: ../../CHANGES.rst:654 #: 7409c517a40242758fb842e3c9a6979e msgid "[0.0.8] - 2022-03-15" msgstr "" #: ../../CHANGES.rst:659 #: 19d18c6e16584de6bc806ec34ef82058 msgid "Fixed dependencies" msgstr "" #: ../../CHANGES.rst:662 #: 9075246858474ee49863fad1312bff7c msgid "[0.0.7] - 2022-03-15" msgstr "" #: ../../CHANGES.rst:667 #: 50597942f5ff417381901c71bf212921 msgid "Fixed spaces and escaped special char in ldap cn/dn :pr:`43`" msgstr "" #: ../../CHANGES.rst:670 #: 265c9312eadc4367a5fad31823c13be8 msgid "[0.0.6] - 2022-03-08" msgstr "" #: ../../CHANGES.rst:675 #: 74bb45783f604adab39a6daa8a68c07b msgid "Access token are JWT. :pr:`38`" msgstr "" #: ../../CHANGES.rst:680 #: 7c78939d39714062bb566b06eed6322a msgid "Default groups on invitations :pr:`41`" msgstr "" #: ../../CHANGES.rst:681 #: 3ab0b04f916146a6ba07569fcbf80f06 msgid "Schemas are shipped within the canaille package :pr:`42`" msgstr "" #: ../../CHANGES.rst:684 #: 404fe378c656443e9a940effffda0d9b msgid "[0.0.5] - 2022-02-17" msgstr "" #: ../../CHANGES.rst:689 #: 243745dfae5d420fa946947187ef45bf msgid "LDAP model objects have new identifiers :pr:`37`" msgstr "" #: ../../CHANGES.rst:694 #: f6239bf49b6145baa47891fece92dbfb msgid "Admin menu dropdown display :pr:`39`" msgstr "" #: ../../CHANGES.rst:695 #: b9eab772697f40f1be8dc5c3f49f7b3e msgid "`GROUP_ID_ATTRIBUTE` configuration typo :pr:`40`" msgstr "" #: ../../CHANGES.rst:698 #: 6679140780cf46f8b2cb119fc729a4c4 msgid "[0.0.4] - 2022-02-16" msgstr "" #: ../../CHANGES.rst:703 #: 28738ebc19fd41289eebbc340cb22ae5 msgid "Client preauthorization :pr:`11`" msgstr "" #: ../../CHANGES.rst:704 #: d93800386a8a45bc8954d9a2b799bd2e msgid "LDAP permissions check with the check command :pr:`12`" msgstr "" #: ../../CHANGES.rst:705 #: 48b173e7814447329956ae5325cbe4a9 msgid "Update consents when a scope required is larger than the scope of an already given consent :pr:`13`" msgstr "" #: ../../CHANGES.rst:707 #: 2a22e4ebf75d488b86579bf9245a7918 msgid "Theme customization :pr:`15`" msgstr "" #: ../../CHANGES.rst:708 #: 4ab0ce6231e34f43847ca9c52f0e8a00 msgid "Logging configuration :pr:`16`" msgstr "" #: ../../CHANGES.rst:709 #: 0adf2f9e1fe840559a89d27bba714be6 msgid "Installation command :pr:`17`" msgstr "" #: ../../CHANGES.rst:710 #: e48cd76fc5f54e0985a73480181de48e msgid "Invitation links :pr:`18`" msgstr "" #: ../../CHANGES.rst:711 #: 8523a2c6487045ee9daf4fe03f1b1864 msgid "Advanced permissions :pr:`20`" msgstr "" #: ../../CHANGES.rst:712 #: 2cbc27b2a4e44ff7a84bd225de7812aa msgid "An option to not use OIDC :pr:`23`" msgstr "" #: ../../CHANGES.rst:713 #: 6150ad67b8c647cf8abe23fbd5bd1a3c msgid "Disable some features when no SMTP server is configured :pr:`24`" msgstr "" #: ../../CHANGES.rst:714 #: 1fda569eaea34091a33c2abb6baae3c7 msgid "Login placeholder dynamically generated according to the configuration :pr:`25`" msgstr "" #: ../../CHANGES.rst:715 #: 72aa5848b59040108136006daaec2101 msgid "Added an option to tune object IDs :pr:`26`" msgstr "" #: ../../CHANGES.rst:716 #: 2990ba053f114121be6ea682c14d6adc msgid "Avatar support :pr:`27`" msgstr "" #: ../../CHANGES.rst:717 #: 90a86eb3918d41e0a6cbe3c45efb742f msgid "Dynamical and configurable JWT claims :pr:`28`" msgstr "" #: ../../CHANGES.rst:718 #: d382d05f220d4536aeed6f7b8093e812 msgid "UI improvements :pr:`29`" msgstr "" #: ../../CHANGES.rst:719 #: 495f574fb38d421290e3e7dfb6c5debe msgid "Invitation links expiration :pr:`30`" msgstr "" #: ../../CHANGES.rst:720 #: fb3f02b5847e4b97a43fa5fbb31bb2d0 msgid "Invitees can choose their IDs :pr:`31`" msgstr "" #: ../../CHANGES.rst:721 #: 7bb61e62ab3845dd81fd927761bb3301 msgid "LDAP backend refactoring :pr:`35`" msgstr "" #: ../../CHANGES.rst:726 #: e166b0bf05c546a8a93653e1085db081 msgid "Fixed ghost members in a group :pr:`14`" msgstr "" #: ../../CHANGES.rst:727 #: 3996da1c77e7442a9576d3e98db2e88c msgid "Fixed email sender names :pr:`19`" msgstr "" #: ../../CHANGES.rst:728 #: 4d211784dc8a45a58fc3fd0e242e9c50 msgid "Fixed filter being not escaped :pr:`21`" msgstr "" #: ../../CHANGES.rst:729 #: 7c75824660e5452aa129914f3e8cf70e msgid "Demo script good practices :pr:`32`" msgstr "" #: ../../CHANGES.rst:730 #: fbfcb0d4f1294b58984b4511b74c7bb8 msgid "Binary path for Debian :pr:`33`" msgstr "" #: ../../CHANGES.rst:731 #: 53e781db9c264064976ab2f2264595bc msgid "Last name was not mandatory in the forms while this was mandatory in the LDAP server :pr:`34`" msgstr "" #: ../../CHANGES.rst:733 #: 877309cbeef3453ea72937ff59a4e190 msgid "Spelling typos :pr:`36`" msgstr "" #: ../../CHANGES.rst:736 #: a0810d6200ff40e7aaab87b0fd4c5b1c msgid "[0.0.3] - 2021-10-13" msgstr "" #: ../../CHANGES.rst:741 #: b25d2d17718a4da0a50596da63a80790 msgid "Two-steps sign-in :issue:`49`" msgstr "" #: ../../CHANGES.rst:742 #: 16af3b95f59249b4b7ab0604de8ff57b msgid "Tokens can have several audiences. :issue:`62` :pr:`9`" msgstr "" #: ../../CHANGES.rst:743 #: a6cd22462a9a4c9dba4d3423ae8af46c msgid "Configuration check command. :issue:`66` :pr:`8`" msgstr "" #: ../../CHANGES.rst:744 #: effde2fb59c34a4e93c948bbd84f8625 msgid "Groups management. :issue:`12` :pr:`6`" msgstr "" #: ../../CHANGES.rst:749 #: e267aaaa01164e30ad004e0db2c9e953 msgid "Introspection access bugfix. :issue:`63` :pr:`10`" msgstr "" #: ../../CHANGES.rst:750 #: d33d63ae3afe491d96e56180999e8479 msgid "Introspection sub claim. :issue:`64` :pr:`7`" msgstr "" #: ../../CHANGES.rst:753 #: ac2acd0f69b04804b20b7c20ab3cfd7d msgid "[0.0.2] - 2021-01-06" msgstr "" #: ../../CHANGES.rst:758 #: 98e7bceb7233465eaaaf0c2605f8d283 msgid "Login page is responsive. :issue:`1`" msgstr "" #: ../../CHANGES.rst:759 #: 2d37025a8dc543fb9e3a95ccc4f7592e msgid "Adapt mobile keyboards to login page fields. :issue:`2`" msgstr "" #: ../../CHANGES.rst:760 #: 638c79954a124360b4bf7353fade3dc3 msgid "Password recovery interface. :issue:`3`" msgstr "" #: ../../CHANGES.rst:761 #: 2c6d9b46b9a74b1b9348c1cceb97847d msgid "User profile interface. :issue:`4`" msgstr "" #: ../../CHANGES.rst:762 #: 2873b90329a34f46828dfb0ed02780d8 msgid "Renamed the project *canaille*. :issue:`5`" msgstr "" #: ../../CHANGES.rst:763 #: 628bd6758ae74f3693a18cedaca47a71 msgid "Command to remove old tokens. :issue:`17`" msgstr "" #: ../../CHANGES.rst:764 #: 5e92758f84a8435b92f659ce415b2c98 msgid "Improved password recovery email. :issue:`14` :issue:`26`" msgstr "" #: ../../CHANGES.rst:765 #: 233732a2490b43d285a83e241b0dd9de msgid "Use flask `SERVER_NAME` configuration variable instead of `URL`. :issue:`24`" msgstr "" #: ../../CHANGES.rst:766 #: 329ff5fb95e3449ebb4e6f992211aa03 msgid "Improved consents page. :issue:`27`" msgstr "" #: ../../CHANGES.rst:767 #: 4937c978609442d7ab89f8b4c65e536f msgid "Admin user page. :issue:`8`" msgstr "" #: ../../CHANGES.rst:768 #: 8eb4d59649cc41e68728dffbd6c347f4 msgid "Project logo. :pr:`29`" msgstr "" #: ../../CHANGES.rst:769 #: 25d6314cfb974a908d408f72f9c34452 msgid "User account self-deletion can be enabled in the configuration with `SELF_DELETION`. :issue:`35`" msgstr "" #: ../../CHANGES.rst:770 #: f5e58832ecca4755b6ff543105e451a4 msgid "Admins can impersonate users. :issue:`39`" msgstr "" #: ../../CHANGES.rst:771 #: 3e5148fff5304784be64879d67c3dc6f msgid "Forgotten page UX improvement. :pr:`43`" msgstr "" #: ../../CHANGES.rst:772 #: b515e759936b453ca7a329c0b5dfef04 msgid "Admins can remove clients. :pr:`45`" msgstr "" #: ../../CHANGES.rst:773 #: c8733f9bd02d49ebb5878ca7cd12c9ce msgid "Option `HIDE_INVALID_LOGIN` that can be unactivated to let the user know if the login he attempt to sign in with exists or not. :pr:`48`" msgstr "" #: ../../CHANGES.rst:775 #: e217efed56d94b52a33bd7529710e544 msgid "Password initialization mail. :pr:`51`" msgstr "" #: ../../CHANGES.rst:780 #: 38b3bf4f13be473189acfdf51c885b60 msgid "Form translations. :issue:`19` :issue:`23`" msgstr "" #: ../../CHANGES.rst:781 #: 21d73002dfde40469a6954ba1f3af488 msgid "Avoid to use Google Fonts. :issue:`21`" msgstr "" #: ../../CHANGES.rst:786 #: da8460512c19411188cf666741f1ae84 msgid "'My tokens' page. :issue:`22`" msgstr "" #: ../../CHANGES.rst:789 #: cfdc703525ef4404b81a134fc7c87ea8 msgid "[0.0.1] - 2020-10-21" msgstr "" #: ../../CHANGES.rst:794 #: e59159518b3a4358824f7d8414aa671b msgid "Initial release." msgstr "" #: ../../CONTRIBUTING.rst:2 #: db9f3c148acb45cda676a534529e8589 msgid "Contributions" msgstr "" #: ../../CONTRIBUTING.rst:4 #: ea0fa8d3ac0d4799a10afd6f37e05d41 msgid "Contributions are welcome!" msgstr "" #: ../../CONTRIBUTING.rst:6 #: ba17c0c13c114915adc43e5639bf088c msgid "The repository is hosted at `gitlab.com/yaal/canaille `_." msgstr "" #: ../../CONTRIBUTING.rst:9 #: 701cbef5f1f547729633a993e3622c09 msgid "Discuss" msgstr "" #: ../../CONTRIBUTING.rst:11 #: 3d3467217204457eae495ce9c7597a30 msgid "If you want to implement a feature or a bugfix, please start by discussing it with us on the `bugtracker `_ or the `matrix room `_." msgstr "" #: ../../CONTRIBUTING.rst:16 #: c88320c4d0d34620b655788e1c9fa658 msgid "Development environment" msgstr "" #: ../../CONTRIBUTING.rst:18 #: d9611e56c0f04f4099d6abb8bc2be28d msgid "You can either run the demo locally or with Docker." msgstr "" #: ../../CONTRIBUTING.rst:20 #: 16ed6d496d4a451382ea864560d8fe9d msgid "The only tool required for local development is `uv`. Make sure to have uv `installed on your computer `_ to be able to hack Canaille." msgstr "" #: ../../CONTRIBUTING.rst:24 #: 5ec56d5524574bca8128f6dac3176d0e msgid "Initialize your development environment with: - ``uv sync --extra front --extra oidc`` to have a minimal working development environment. This will allow you to run the tests with ``uv pytest --backend memory``. - ``uv sync --extra front --extra oidc --extra sqlite`` to have a minimal working development environment with SQLite backend support. This will allow you to run the tests with ``uv pytest --backend sql``. - ``uv sync --extra front --extra oidc --extra ldap`` to have a minimal working development environment with LDAP backend support. This will allow you to run the tests with ``uv pytest --backend ldap``. - ``uv sync --all-extras`` if you want to have everything at your fingertips. Note that it may compile some Python dependencies that would expect things to be installed on your system; Some dependencies of Canaille might need to be compiled, so you probably want to check that `GCC` and `cargo` are available on your computer." msgstr "" #: ../../CONTRIBUTING.rst:31 #: 4d99057f1b0b42048a0a0ea8d094182a msgid "After having launched the demo you have access to several services:" msgstr "" #: ../../CONTRIBUTING.rst:33 #: 7c17294c7b994de58363e4e72838185c msgid "A canaille server at `localhost:5000 `_" msgstr "" #: ../../CONTRIBUTING.rst:34 #: e91a134548c54960b39cdf0e58390b1d msgid "A dummy client at `localhost:5001 `_" msgstr "" #: ../../CONTRIBUTING.rst:35 #: 83c30705c35e4f62b2a2a284b08c8c2b msgid "Another dummy client at `localhost:5002 `_" msgstr "" #: ../../CONTRIBUTING.rst:37 #: 2cb674d059a04dee9b746a7baaeecd17 msgid "The canaille server has some default users:" msgstr "" #: ../../CONTRIBUTING.rst:39 #: 2ac5d11cb40b4bffbc127225b286ccd9 msgid "A regular user which login and password are **user**;" msgstr "" #: ../../CONTRIBUTING.rst:40 #: 9646c01bc0e04c4792ff402b86595705 msgid "A moderator user which login and password are **moderator**;" msgstr "" #: ../../CONTRIBUTING.rst:41 #: 7b5a9e12d296447aaca3f29ea4be3f47 msgid "An admin user which admin and password are **admin**;" msgstr "" #: ../../CONTRIBUTING.rst:42 #: 3dbee7f7f26a43be90d535679c0a66e1 msgid "A new user which login is **james**. This user has no password yet, and his first attempt to log-in would result in sending a password initialization email (if a smtp server is configured)." msgstr "" #: ../development/specifications.rst:62 #: ../../CONTRIBUTING.rst:47 #: 6a80df408d77487e873a79468c27a761 #: 6ad725c101e64176a7848199cc032cea msgid "Backends" msgstr "" #: ../../CONTRIBUTING.rst:49 #: ed793c84780c4431b4a0f5174b77e863 msgid "Canaille comes with several backends:" msgstr "" #: ../../CONTRIBUTING.rst:51 #: 61e91cbb3e1b449d8c578142e0745e64 msgid "a lightweight test purpose `memory` backend" msgstr "" #: ../../CONTRIBUTING.rst:52 #: e167dd64b4f0429890295f6cd030e35f msgid "a `sql` backend, based on sqlalchemy" msgstr "" #: ../../CONTRIBUTING.rst:53 #: 1a65f2eac34342be8835945125ede8a6 msgid "a production-ready `LDAP` backend" msgstr "" #: ../../CONTRIBUTING.rst:56 #: 409d19a554034d76ba2135fe2e1a740c msgid "Docker environment" msgstr "" #: ../../CONTRIBUTING.rst:58 #: fdeee3e754e843eba8b76ad705e60587 msgid "If you want to develop with docker, your browser needs to be able to reach the `canaille` container. The docker-compose file exposes the right ports, but front requests are from outside the docker network: the `canaille` url that makes sense for docker, points nowhere from your browser. As exposed ports are on `localhost`, you need to tell your computer that `canaille` url means `localhost`." msgstr "" #: ../../CONTRIBUTING.rst:63 #: e30b205d85524074aeeb5a7d13c26965 msgid "To do that, you can add the following line to your `/etc/hosts`:" msgstr "" #: ../../CONTRIBUTING.rst:69 #: d7a9e2ab1a734dfd93cfadb72e9d9561 msgid "To launch containers, use:" msgstr "" #: ../../CONTRIBUTING.rst:84 #: 99a2e010018c4ab18f689adbd17949d2 msgid "Local environment" msgstr "" #: ../../CONTRIBUTING.rst:98 #: 4c63d4d9d6bc4be79415a7f0a921f3e8 msgid "If you want to run the demo locally with the LDAP backend, you need to have `OpenLDAP `_ installed on your system. It is generally shipped under the ``slapd`` or ``openldap`` package name." msgstr "" #: ../../CONTRIBUTING.rst:103 #: b6350782b583407f804ee9a125cc1f4c msgid "On Debian or Ubuntu systems, the OpenLDAP `slapd` binary usage might be restricted by apparmor, and thus makes the tests and the demo fail. This can be mitigated by removing apparmor restrictions on `slapd`." msgstr "" #: ../../CONTRIBUTING.rst:113 #: ddfc0afccdf849bfacf69a734948945c msgid "Populate the database" msgstr "" #: ../../CONTRIBUTING.rst:115 #: 0d809af195c54c1db4a049349ec0701b msgid "The demo database comes populated with some random users and groups. If you need more, you can generate users and groups with the ``populate`` command:" msgstr "" #: ../../CONTRIBUTING.rst:126 #: 191e9f1df4d845ccab01dcb93de8d944 msgid "Adapt to use either the `ldap` or the `sql` configuration file. Note that this will not work with the memory backend." msgstr "" #: ../../CONTRIBUTING.rst:129 #: e15be9bc7ad44cf5852e7b819f3083f0 msgid "Unit tests" msgstr "" #: ../../CONTRIBUTING.rst:131 #: 6db086cc47f34d91bd3d33524b2a64a1 msgid "To run the tests, you just can run `uv run pytest` and/or `uv run tox` to test all the supported python environments. Everything must be green before patches get merged." msgstr "" #: ../../CONTRIBUTING.rst:134 #: 00e18c0ced044c949ee1a18d593da4d2 msgid "To test a specific backend you can pass ``--backend memory``, ``--backend sql`` or ``--backend ldap`` to pytest and tox." msgstr "" #: ../../CONTRIBUTING.rst:136 #: 41a97534fd4640bd9586f352647f57e6 msgid "The test coverage is 100%, patches won't be accepted if not entirely covered. You can check the test coverage with ``uv run pytest --cov --cov-report=html`` or ``uv run tox -e coverage -- --cov-report=html``. You can check the HTML coverage report in the newly created `htmlcov` directory." msgstr "" #: ../../CONTRIBUTING.rst:141 #: 8f210b646ca84be2b83b9509b35e3f39 msgid "Code style" msgstr "" #: ../../CONTRIBUTING.rst:143 #: e28cd3b679db45d4a4dee24039a28335 msgid "We use `ruff `_ along with other tools to format our code. Please run ``uv run tox -e style`` on your patches before submitting them. In order to perform a style check and correction at each commit you can use our `pre-commit `_ configuration with ``uv run pre-commit install``." msgstr "" #: ../../CONTRIBUTING.rst:149 #: 1213a35a573741f487d16ab7f3017048 msgid "Front" msgstr "" #: ../../CONTRIBUTING.rst:151 #: ee73e266b48643f3b0d811fc3dba45de msgid "The interface is built upon the `Fomantic UI `_ CSS framework. The dynamical parts of the interface use `htmx `_." msgstr "" #: ../../CONTRIBUTING.rst:154 #: f5998a63a3a8473ebdace062b9e4125f msgid "Using Javascript in the interface is tolerated, but the whole website MUST be accessible for browsers without Javascript support, and without any feature loss." msgstr "" #: ../../CONTRIBUTING.rst:156 #: 156c5f0058a44a83a5ef7fc0276a0e79 msgid "Because of Fomantic UI we have a dependency to jQuery, however new contributions should not depend on jQuery at all. See the `related issue `_." msgstr "" #: ../../CONTRIBUTING.rst:161 #: d2222852829b41e39d47b5ee4e2f35da msgid "Documentation" msgstr "" #: ../../CONTRIBUTING.rst:163 #: 56ec493dc9c54b30ae012bce43edc8ac msgid "The documentation is generated when the tests run:" msgstr "" #: ../../CONTRIBUTING.rst:169 #: c724f6040e8e41dfaa0bd61783b3f75e msgid "You can also run sphinx by hand, that should be faster since it avoids the tox environment initialization:" msgstr "" #: ../../CONTRIBUTING.rst:175 #: c870557153b74096afeabcfb31d16a6d msgid "The generated documentation is located at ``build/sphinx/html``." msgstr "" #: ../../CONTRIBUTING.rst:178 #: 69fc6bf00fe54884879b2d2a41877f66 msgid "Code translation" msgstr "" #: ../../canaille/translations/README.rst:1 #: cc50847556774dac9ce087a24bae715d msgid "Translations are done with `Weblate `_." msgstr "" #: ../../canaille/translations/README.rst:3 #: 3d831a3a927d456f834248caaef471aa msgid "The following commands are there as documentation, only the message extraction is needed for contributors. All the other steps are automatically done with Weblate." msgstr "" #: ../../canaille/translations/README.rst:8 #: ../locales/readme.rst:7 #: e5788bab9bea4b62896cea4130da2b22 #: 78bc50b888bb49aeadc7a04a79426545 msgid "Message extraction" msgstr "" #: ../../canaille/translations/README.rst:10 #: ../locales/readme.rst:9 #: cdf33fd9d8ba4540aa843a236a424596 #: 2c8e0e2054654b20a3b49db40f60601d msgid "After you have edited translatable strings, you should extract the messages with:" msgstr "" #: ../../canaille/translations/README.rst:17 #: ../locales/readme.rst:16 #: 98d3fdec177b4519bd4d9efcd5cd827c #: 1555b90dada547ce9112c0d5664c618f msgid "Language addition" msgstr "" #: ../../canaille/translations/README.rst:19 #: ../locales/readme.rst:18 #: 32f431c9d9f9418292e69d27236af062 #: 762c9254a1b04b71aeb43923910b130e msgid "You can add a new language manually with the following command, however this should not be needed as Weblate takes car of this:" msgstr "" #: ../../canaille/translations/README.rst:26 #: 797cc0492f974a1e806df493b216c5f8 msgid "Catalog update" msgstr "" #: ../../canaille/translations/README.rst:28 #: a40f65b9a07e48d88f88e08096d31299 msgid "You can update the catalogs with the following command, however this should not be needed as Weblate automatically update language catalogs when it detects new strings or when someone translate some existing strings. Weblate pushes happen every 24h." msgstr "" #: ../../canaille/translations/README.rst:36 #: c3f0a5e6753c4c21ab3997c39d57800f msgid "Catalog compilation" msgstr "" #: ../../canaille/translations/README.rst:38 #: 614a641d465649e7a779a9d4ef49cbd9 msgid "You can compile the catalogs with the following command, however this should not be needed as catalogs are automatically compiled before running the unit tests, before launching the demo and before compiling the Canaille python package:" msgstr "" #: ../../CONTRIBUTING.rst:184 #: add6d5220923488a82e49359ce7a0d55 msgid "Documentation translation" msgstr "" #: ../locales/readme.rst:1 #: a2cfb06dfde7462fb3382c20183342a0 msgid "Documentation translation Translations are done with `Weblate `_." msgstr "" #: ../locales/readme.rst:4 #: 113485680b744151a4e88e903b33f63c msgid "The following commands are there as documentation, only the message extraction and the language addition is needed for contributors." msgstr "" #: ../locales/readme.rst:25 #: e4baf07e2a99407a8a96e0574a012091 msgid "Build the documentation in another language" msgstr "" #: ../../CONTRIBUTING.rst:189 #: 515603cf888740aa9a3dd3dd230e3352 msgid "Publish a new release" msgstr "" #: ../../CONTRIBUTING.rst:191 #: e657f8e780dd4674a90bf0dde7decbe1 msgid "Check that dependencies are up to date with ``uv sync --all-extras --upgrade`` and update dependencies accordingly in separated commits;" msgstr "" #: ../../CONTRIBUTING.rst:192 #: 391ef00613ed4d8ca5538c617ed4e9ac msgid "Check that tests are still green for every supported python version, and that coverage is still at 100%, by running ``uv run tox``;" msgstr "" #: ../../CONTRIBUTING.rst:193 #: 57694c4f22574e50bff25cab27182f2d msgid "Check that the demo environments are still working, both the local and the Docker one;" msgstr "" #: ../../CONTRIBUTING.rst:194 #: 3c03facaea6646948faf4531c2474b8f msgid "Check that the :ref:`development/changelog:Release notes` section is correctly filled up;" msgstr "" #: ../../CONTRIBUTING.rst:195 #: ab7667b315734c5b9a4222006d86b173 msgid "Increase the version number in ``pyproject.toml``;" msgstr "" #: ../../CONTRIBUTING.rst:196 #: d65334bb5a78403eab57f3b17995ca3f msgid "Commit with ``git commit``;" msgstr "" #: ../../CONTRIBUTING.rst:197 #: dee8dcd9aa344228b9f5cd8b9142a630 msgid "Build with ``uv build``;" msgstr "" #: ../../CONTRIBUTING.rst:198 #: 7782721ef59e4196aca0b8e3b4eee781 msgid "Publish on test PyPI with ``uv publish --publish-url https://test.pypi.org/legacy/``;" msgstr "" #: ../../CONTRIBUTING.rst:199 #: 1c23cb30798d4f06a418c61e6c7a998f msgid "Install the test package somewhere with ``pip install --extra-index-url https://test.pypi.org/simple --upgrade canaille``. Check that everything looks fine;" msgstr "" #: ../../CONTRIBUTING.rst:200 #: 14eccb7318524fb2af7e0d75bdb59e19 msgid "Publish on production PyPI ``uv publish``;" msgstr "" #: ../../CONTRIBUTING.rst:201 #: 7776d49a05bc4399a09fa9ff7a08fc65 msgid "Tag the commit with ``git tag XX.YY.ZZ``;" msgstr "" #: ../../CONTRIBUTING.rst:202 #: 69b763c261ce43478f815696e7762162 msgid "Push the release commit and the new tag on the repository with ``git push --tags``." msgstr "" #: ../development/index.rst:2 #: 06473fb59658463eac64f549d1978fed msgid "Development" msgstr "" #: ../development/specifications.rst:2 #: 2383ea673b75451188733db5862b135b msgid "Specifications" msgstr "" #: ../development/specifications.rst:4 #: 2ef6b8c589164db4bc70d90e406547f4 msgid "This page details which specifications are implemented in Canaille, and compares Canaille with other well-known identity providers." msgstr "" #: ../development/specifications.rst:7 #: ce5d7ed671a84146a75c86236a435bcb msgid "State of the specs in Canaille" msgstr "" #: ../development/specifications.rst:10 #: e1579bc3332e4a63b0aac21055d366ea msgid "OAuth2" msgstr "" #: ../development/specifications.rst:12 #: bce2b9f1363a4897b649cbf8b1ab312f msgid "✅ `RFC6749: OAuth 2.0 Framework `_" msgstr "" #: ../development/specifications.rst:13 #: 0f16ff4617e249448a680965b8e27053 msgid "✅ `RFC6750: OAuth 2.0 Bearer Tokens `_" msgstr "" #: ../development/specifications.rst:14 #: a872f28da388479784536ba3a86e19b6 msgid "✅ `RFC7009: OAuth 2.0 Token Revocation `_" msgstr "" #: ../development/specifications.rst:15 #: 94e2bc5630a44815b4c93c4e807778cb msgid "❌ `RFC7523: JWT Profile for OAuth 2.0 Client Authentication and Authorization Grants `_" msgstr "" #: ../development/specifications.rst:16 #: 76e315ea5f684fb79290e26d57859f7e msgid "✅ `RFC7591: OAuth 2.0 Dynamic Client Registration Protocol `_" msgstr "" #: ../development/specifications.rst:17 #: 9eae7bb9c29847a8a5a3eb28789e46b1 msgid "✅ `RFC7592: OAuth 2.0 Dynamic Client Registration Management Protocol `_" msgstr "" #: ../development/specifications.rst:18 #: 7f0334835508449085c14802ab6f72af msgid "✅ `RFC7636: Proof Key for Code Exchange by OAuth Public Clients `_" msgstr "" #: ../development/specifications.rst:19 #: fbb4c383d63a46efb860728150f24ac4 msgid "✅ `RFC7662: OAuth 2.0 Token Introspection `_" msgstr "" #: ../development/specifications.rst:20 #: 653ac730c45d4631a1198df2fb4e2ec5 msgid "✅ `RFC8414: OAuth 2.0 Authorization Server Metadata `_" msgstr "" #: ../development/specifications.rst:21 #: c7d59a380e4a4de1b92c107f1b2c539b msgid "❌ `RFC8428: OAuth 2.0 Device Authorization Grant `_" msgstr "" #: ../development/specifications.rst:22 #: c075e766a7d446dd9c13344c3f86a2c2 msgid "❌ `RFC8693: OAuth 2.0 Token Exchange `_" msgstr "" #: ../development/specifications.rst:23 #: 28a936713f9948b6a3764a19c027f6bb msgid "❌ `RFC8705: OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens `_" msgstr "" #: ../development/specifications.rst:24 #: e6919e11c0e947d1b6e423a655a74d5a msgid "❌ `RFC8707: Resource Indicators for OAuth 2.0 `_" msgstr "" #: ../development/specifications.rst:25 #: dcf39ac39c8c4504aa5286585795a804 msgid "❌ `RFC9068: JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens `_" msgstr "" #: ../development/specifications.rst:26 #: e9c618050694440babc431d81eaea941 msgid "❌ `RFC9101: OAuth 2.0 JWT-Secured Authorization Request (JAR) `_" msgstr "" #: ../development/specifications.rst:27 #: 5245d41ffe9e4ed5a05bf5dff10724cc msgid "❌ `RFC9126: OAuth 2.0 Pushed Authorization Requests `_" msgstr "" #: ../development/specifications.rst:28 #: e82805a9bb934a61a36bff17697d6119 msgid "❌ `RFC9207: OAuth 2.0 Authorization Server Issuer Identification `_" msgstr "" #: ../development/specifications.rst:29 #: 13d5af1c63134be28a9c8f12925952f9 msgid "❌ `RFC9394: OAuth 2.0 Rich Authorization Requests `_" msgstr "" #: ../development/specifications.rst:30 #: e2440df8c0bc43a393e9f29fb658c080 msgid "❌ `OAuth2 Multiple Response Types `_" msgstr "" #: ../development/specifications.rst:31 #: aceb377eee7f4b8d813edd4d649eea45 msgid "❌ `OAuth2 Form Post Response Mode `_" msgstr "" #: ../development/specifications.rst:34 #: 536cc3c67db14ed4a20bd172e2f02c2d msgid "OpenID Connect" msgstr "" #: ../development/specifications.rst:36 #: 501bfe9938d44b21bc9a29e3ee3f1ccd msgid "✅ `OpenID Connect Core `_" msgstr "" #: ../development/specifications.rst:37 #: 940a4a7b20da4c57ab910c3952941bab msgid "✅ `OpenID Connect Discovery `_" msgstr "" #: ../development/specifications.rst:38 #: e9243ed2cb5843debd7864bacd3615bf msgid "✅ `OpenID Connect Dynamic Client Registration `_" msgstr "" #: ../development/specifications.rst:39 #: 260e55b2265f449da141e7b231859956 msgid "✅ `OpenID Connect RP Initiated Logout `_" msgstr "" #: ../development/specifications.rst:40 #: 206d7fc552224c9ebbee3572273c82eb msgid "❌ `OpenID Connect Session Management `_" msgstr "" #: ../development/specifications.rst:41 #: 8c4191636e1a462b8c8078918a753008 msgid "❌ `OpenID Connect Front Channel Logout `_" msgstr "" #: ../development/specifications.rst:42 #: 163e00dec72e474d89c739d92f25b42c msgid "❌ `OpenID Connect Back Channel Logout `_" msgstr "" #: ../development/specifications.rst:43 #: debeca055bdc4633b649b5fd9baf4346 msgid "❌ `OpenID Connect Back Channel Authentication Flow `_" msgstr "" #: ../development/specifications.rst:44 #: 96e17c4d073f403889ba175279c8a621 msgid "❌ `OpenID Connect Core Error Code unmet_authentication_requirements `_" msgstr "" #: ../development/specifications.rst:45 #: f3d5d91958dc4dea9b3a3e359c2e8ace msgid "✅ `Initiating User Registration via OpenID Connect 1.0 `_" msgstr "" #: ../development/specifications.rst:48 #: ../development/specifications.rst:64 #: 3d08369fd6424b71b7a1714928df5b24 #: ec31988387b144b5a71a8ff448bd57cf msgid "SCIM" msgstr "" #: ../development/specifications.rst:50 #: 55efb939c7424dd7b0a458e4536a9a56 msgid "❌ `RFC7642: System for Cross-domain Identity Management: Definitions, Overview, Concepts, and Requirements `_" msgstr "" #: ../development/specifications.rst:51 #: 0777963266124280b73cd65111298a6b msgid "❌ `RFC7643: System for Cross-domain Identity Management: Core Schema `_" msgstr "" #: ../development/specifications.rst:52 #: 1413af49b35e43f394a69a91a9fb9254 msgid "❌ `RFC7644: System for Cross-domain Identity Management: Protocol `_" msgstr "" #: ../development/specifications.rst:55 #: 958bc79cc19548f5bfee6e20a9f4971d msgid "Comparison with other providers" msgstr "" #: ../development/specifications.rst:57 #: aad219093f2243f68e8678886460e50f msgid "Here is a feature comparison with other OpenID Connect server software." msgstr "" #: ../development/specifications.rst:59 #: 74f4c92786fb42cc8c9865d6791e8f2e msgid "Canaille voluntarily only implements the OpenID Connect protocol to keep its codebase simple." msgstr "" #: ../development/specifications.rst:62 #: 28474b61dca1437a8ba4d9e8fbc4fafe msgid "Software" msgstr "" #: ../development/specifications.rst:62 #: 90e531639a8048ad836cb2510bb4b4a1 msgid "Project" msgstr "" #: ../development/specifications.rst:62 #: 2016be5359144e6fac7ae582cdfb3095 msgid "Protocols implementations" msgstr "" #: ../development/specifications.rst:64 #: b15c641b913b4ac9a29ea3308555e9c9 msgid "FLOSS" msgstr "" #: ../development/specifications.rst:64 #: 73626dca03614498bf386d2b3bfc9123 msgid "Language" msgstr "" #: ../development/specifications.rst:64 #: c29f145e63714ccaa8a03cca4e3f22f4 msgid "LOC" msgstr "" #: ../development/specifications.rst:64 #: 23ca5dbb097e4839a136bb799bf80f55 msgid "OIDC" msgstr "" #: ../development/specifications.rst:64 #: 11ecae1c29784130b88825b48252f35c msgid "SAML" msgstr "" #: ../development/specifications.rst:64 #: f08202ef5e9b483a80b28050363813e7 msgid "CAS" msgstr "" #: ../development/specifications.rst:64 #: c15a06d0987b4617b1a27f63c6ea8bbb msgid "LDAP" msgstr "" #: ../development/specifications.rst:64 #: 88d8a0776138423baadcac6030b6b58f msgid "SQL" msgstr "" #: ../development/specifications.rst:66 #: 36b09d27feb3464a9390fefff5a7fe93 msgid "Canaille" msgstr "" #: ../development/specifications.rst:66 #: ../development/specifications.rst:68 #: ../development/specifications.rst:70 #: ../development/specifications.rst:72 #: ../development/specifications.rst:74 #: ../development/specifications.rst:76 #: ../development/specifications.rst:78 #: ../development/specifications.rst:80 #: ../development/specifications.rst:82 #: ../development/specifications.rst:84 #: ../development/specifications.rst:86 #: ../development/specifications.rst:88 #: 0f4aa33ba6584e98a9eaa297d0c94bb0 #: fadd2afadd834cedbd90bb5bb9a9014b #: 43eebe1b471c4101a0c92ea3b2a581f5 #: d271fc21b16c4ffcbe345c6468f2b0a9 #: e8ba0239a4b749e7a25fb8c635f589e7 #: 1e47f1133b4e4a0e9c831cd5e1a13698 #: 9805c61499404f379aa38b4b66c11b39 #: 35600f8ae23c41fcac1e4cedaf78db99 #: e33c8e80263d4fbfab0ff58fc214cb8f #: 58988f1bd01f49bcb8a3bfe088ed011b #: 8766d871a0274f0b971c264c78120d26 #: 349c74fb53ea407d84d2956ccdbc46fa #: 6cb5dea79610432e9dfdea8c2c626097 #: 9bfd6602bb454ea39e137608d521e34b #: 454f0ee660ee499283215360375fb802 #: 1c6ed99217124047bb586e7a891759db #: 2c9b0c967eec4506bfcd5dbbf52afb38 #: 7dbecc531d094e4484f22e5060f83a37 #: 77a7e78473cc48099cbd2d1ffe9428f2 #: c74de60c04914a7f9e2c06e43bbe7781 #: 14417de9256e420ead7cef2967be4a6d #: 2ab94593a8e9419492ec2920eda40d75 #: a439c4a58ee84802b941c9286bd22bbf #: 0a50f3e6a3e14a5ca080519a2387f1a8 #: 6e21519d3fe840b1a8511a46ea29feb0 #: e257e70630c746189e0f3dcbe80680ad #: 1b7eb2933228484ba7be3939e85199bb #: fbe1ad750c384be994f6785667e04d64 #: b8e790defcfd4060831916e10e35eb51 #: 596178c6b8d14a7393e0bbed037c744f #: 4c78c1fffa8b4568ab0d592a101f960f #: 5c8f704976a94119a86e8699f0a4e81f #: 2d8ea8069a934b38ab843b8a5f973a39 #: 7befcce958644063930aa1408d04e00f #: 765ee0d0ceec4a0eb9cfe961c9f58d39 #: 7a7f0093c2c84333b30b2812477b47b1 #: 0f611501e77e4cb29d60d5c669f1e24b #: 9444fb2a3e0740dd9d5ec6a5f2a616d2 #: 092db271989440aa80041a75259a11f4 #: 5caa2e5cb2c941128d3693c1cbc24002 #: 4e8ed6d107234a949ffeb1030a62936d #: a5079ead19194736849e33ae37800cde #: caf9f4e107af45fc81a8805315b76ba2 #: a0f1e032b5b649db88c6d424e0201c77 #: e33c9d06ce5e474c9e52b4d92a3e9667 #: 86593813ccdb456ebd0d83b27eeb01cf #: 8f8b3d4f54864fa48122dc593a86518c #: d4498551e8d94e2a9eec0b40ef44a7f7 #: cfa66105b6d34120918736d616c1a03e #: df7e4d13d307478da90f47c6a25967f2 #: 3028033c8ed04f13ac3bc5d429512376 #: c534146a75ab423b9dd3eeaec1086f86 #: a531b5e1ae8d4f08b3ab64fb41b95eac #: 0f0ed37cd7f1417ea714b6a26e0aa821 #: 2f74de566e7f4bb6953d723937fdcfbb #: d2402eff2aa54c4ba72167030aad1624 #: 2de2fb6bb0ac465185d04c363810a287 #: 8c9f23f2ec144bc091870e216866bfd5 #: 778477d68681415cb697a3f5fbecb407 #: d4f477480a384c0fa7cc6e04c24fdb0c #: 300ec52ae51f48118892ad89eaae110c #: d764f65e2aa64f8abc37a03e435864eb #: deddbee4686d4593bd8f25a94403c496 msgid "✅" msgstr "" #: ../development/specifications.rst:66 #: ../development/specifications.rst:72 #: ../development/specifications.rst:74 #: 01dff9df020340d3b54406638f8ade39 #: 9b3140d0523c4308bc9134ef0b429d2c #: 4b1e5e8fc53c45d78490dc275918de15 msgid "Python" msgstr "" #: ../development/specifications.rst:66 #: 96c10219b0b14aa19ce8a108a7ae7535 msgid "10k" msgstr "" #: ../development/specifications.rst:66 #: ../development/specifications.rst:68 #: ../development/specifications.rst:70 #: ../development/specifications.rst:72 #: ../development/specifications.rst:74 #: ../development/specifications.rst:76 #: ../development/specifications.rst:78 #: ../development/specifications.rst:82 #: ../development/specifications.rst:86 #: ../development/specifications.rst:88 #: 3ebd793a1a814a59ac86d95ac10d5df2 #: c5f6dca104ff4b96b3e2efd62193fe07 #: 90a7b98bef2444de873bccf36b6945fe #: d50482bdbeaf4df3a1e96da071973245 #: c9b9adb75109471296e228d204cba052 #: 46582f2fe84c49cd8c0cb4c8aadc9901 #: be741254f47f40a3a8184bc4e9d1da25 #: dd27269b4d13497db74735e450ebca2f #: 9eadd8b5840940bb87c3549722814f48 #: 3608cbf9d76e443187d5aa737fbad466 #: 15fa182a79c14d169755cec6b57208e2 #: 62636f44d520479ab343eff200e99fa1 #: ae0edbc27c7f49b3bea30ed31fbe1911 #: eb691511657747a499a83d4fa93e5e82 #: 54c00360d6eb4809a8109defc6b2b87b #: 8fdc4d649f4a4e6e8dc05bb9d04d87b9 #: dfd6b6d189254825bb6ef6a6d7e8aeb2 #: 7457ad39b3694ed6b9f55e066e84368b #: 27fa0f65ca344c619c008634c795839c msgid "❌" msgstr "" #: ../development/specifications.rst:68 #: 176177908d034923b2aee29868ef6796 msgid "`Auth0`_" msgstr "" #: ../development/specifications.rst:68 #: ../development/specifications.rst:78 #: ../development/specifications.rst:80 #: ../development/specifications.rst:88 #: 34ea26174ce84747a3098db253c053d2 #: 2197b1423cf24880bd48984365df26ca #: 343c98b7aae64c4b9b13401296895ea2 #: 0aed1e6f1ed140fcaa16586bfe983023 #: 437f53f33fe94e928888c9611c8e96e3 #: ca5b6032265d45c9b26dc476f4631586 #: cda04abd7d0f49598c1e5847a0e46893 #: c9771ac23ed44441bd5bb7f6634ede8d #: 522c4a868dc84cf3b0d349a7b83e1044 msgid "❔" msgstr "" #: ../development/specifications.rst:70 #: 3de4a343d96b4a699f2b3a28ebfbb76f msgid "`Authelia`_" msgstr "" #: ../development/specifications.rst:70 #: ../development/specifications.rst:82 #: b0f9a8ac302047428af718460e7e46d6 #: 40010ae725194f3799a9740e20c4ae84 msgid "Go" msgstr "" #: ../development/specifications.rst:70 #: ../development/specifications.rst:82 #: 3b23b5c9fc4242d4af838dfdeba90474 #: bb830e5335294f36ba951698d814e713 msgid "50k" msgstr "" #: ../development/specifications.rst:72 #: 93151babd6a84e208a8cb864acb445a0 msgid "`Authentic2`_" msgstr "" #: ../development/specifications.rst:72 #: 7d26a37f8f2d490ca5c464422d2da857 msgid "65k" msgstr "" #: ../development/specifications.rst:74 #: c79b04fe99584a4183258a9bb56afff6 msgid "`Authentik`_" msgstr "" #: ../development/specifications.rst:74 #: 34c65fd0b72146b1bdb2392653fbd7bf msgid "55k" msgstr "" #: ../development/specifications.rst:76 #: 2dd361f5df204f2197da5976329b8bee msgid "`CAS`_" msgstr "" #: ../development/specifications.rst:76 #: ../development/specifications.rst:80 #: ../development/specifications.rst:84 #: d1431df43a0844e592a30e479cb711d7 #: 4e12564f864e4fcca5c59a70971b197e #: 0e395d011cea454080b706263976c5a8 msgid "Java" msgstr "" #: ../development/specifications.rst:76 #: 3c237a5d63994ccabf80d364775f6bd2 msgid "360k" msgstr "" #: ../development/specifications.rst:78 #: 1a3be2d069ee4442b7fa71ac5cb4c245 msgid "`Connect2id`_" msgstr "" #: ../development/specifications.rst:80 #: 8cb2733860b640ae9bcd9aa2b972f8c1 msgid "`Gluu`_" msgstr "" #: ../development/specifications.rst:82 #: 55764f0dc4bd4f9195fd8a68024f9ccf msgid "`Hydra`_" msgstr "" #: ../development/specifications.rst:84 #: 7532697da47043a9995922fd436fac5d msgid "`Keycloak`_" msgstr "" #: ../development/specifications.rst:84 #: 38a63029234442cf8a45a3eaf5e4c5af msgid "600k" msgstr "" #: ../development/specifications.rst:86 #: 6960f54d48a84e7389e1e733a107fc06 msgid "`LemonLDAP`_" msgstr "" #: ../development/specifications.rst:86 #: 12c8306ec42e41ca83f5ea529d87f797 msgid "Perl" msgstr "" #: ../development/specifications.rst:86 #: 5edc7bd6be844833a7c456f9bec02b10 msgid "130k" msgstr "" #: ../development/specifications.rst:88 #: beae02477d7d4c768d483db955ebd314 msgid "`Okta`_" msgstr ""