Package: invenio-accounts
Invenio user management and authentication.Features:User and role management.User registration, password reset/recovery and email verification.Administration interface and CLI for managing users.Session based authentication with session theft protection support.Strong cryptographic password hashing with support for migrating password
hashes (including Invenio v1.x) to new stronger algorithms.Session activity tracking allowing users to e.g. logout of all devices.Server-side session management.JSON Web Token encoding and decoding support useful for e.g. CSRF-protection
in REST APIs.Invenio-Accounts relies on the following community packages to do all the
heavy-lifting:Flask-SecurityFlask-LoginFlask-PrincipalFlask-KVSessionPasslibFurther documentation is available onhttps://invenio-accounts.readthedocs.io/ChangesVersion 4.0.2 (released 2024-02-19)add change history tracking of domainsadd task to calculate domain statisticsadd methods to verify, block and deactivate users in datastoreVersion 4.0.1 (released 2024-02-01)models: fix column type for domain statusVersion 4.0.0 (released 2024-01-29)sessions: check for request before accessing sessionglobal: new domain list featureVersion 3.5.1 (released 2023-12-10)views: disable registering ofsettings.change_passwordmenu
ifACCOUNTS_REGISTER_BLUEPRINTis FalseVersion 3.5.0 (released 2023-11-10)datastore: override put method to add changes to db historyVersion 3.4.4 (released 2023-11-10)models: do not set value in user preference getterVersion 3.4.3 (released 2023-10-20)email: force lowercaseVersion 3.4.2 (released 2023-10-17)Adds support for user impersonationVersion 3.4.1 (released 2023-10-14)datastore: prevent autoflush on dbVersion 3.4.0 (released 2023-08-30)templates: refactor send confirmation templateVersion 3.3.1 (released 2023-08-23)config: setACCOUNTS_DEFAULT_USERS_VERIFIEDto False by defaultVersion 3.3.0 (released 2023-08-21)models: addverified_atcolumn in User model. The default value is controlled by
a new config variable calledACCOUNTS_DEFAULT_USERS_VERIFIED. If True, then a date
is generated, otherwise is set toNone.Version 3.2.1 (released 2023-08-17)alembic: fix sqlalchemy op.execute statements due to latest sqlalchamy-continuumVersion 3.2.0 (released 2023-08-02)users: add blocket_at and verified_at data model fieldsVersion 3.1.0 (released 2023-07-31)templates: Improve accessibility and layoutpulled translationsVersion 3.0.3 (released 2023-06-15)models: fix autogeneration of role idVersion 3.0.2 (released 2023-06-14)alembic: adapt recipe to mysqlVersion 3.0.1 (released 2023-06-14)alembic: fix upgrade recipesVersion 3.0.0 (released 2023-06-14)models: add managed field to groupsmodels: alter primary key type of group (id)cli: pass id on create role actionVersion 2.2.0 (released 2023-04-25)models: add support for locale in user preferencesVersion 2.1.0 (released 2023-03-01)global: replace deprecated babelex importsupdate invenio-i18nVersion 2.0.2 (released 2022-12-14)cli: add–confirmflag when creating a usernew config variables to set the default user and email visibilityregister_user: method accepts new argument,send_register_msg, to control
programmatically the send of registration email independently of the global
configuration.Version 2.0.1 (released 2022-11-18)Add translation workflowAdd pulled translationsAdd blackFix icons not appearingVersion 2.0.0 (released 2022-05-23)Adds customizable user profiles and user preferences fields to the user
data model.Adds version counter to the user table to enable optimistic concurrency
control on the user table.Moves login information fields from user table to a separate login
information table.Moves the external user identity table from Invenio-OAuthclient to
Invenio-Accounts.Adds support for tracking changed users within a transaction to allow for
updating the related indexes.Changes from using Flask-Security to using a private fork named
Flask-Security-Invenio. Flask-Security-Too was evaluated but was found to
have significantly increased scope with features not needed.Version 1.4.9 (released 2021-12-04)Fixed issue with account creation via CLI due to issue with changed API in
Flask-WTF.Version 1.4.8 (released 2021-10-18)Unpin Flask requirement.Version 1.4.7 (released 2021-10-06)Adds celery task to remove IP addresses from user table after a specified
retention period (defaults to 30 days).Version 1.4.6 (released 2021-07-12)Adds german translationsVersion 1.4.5 (released 2021-05-21)Removes config entrypoint.Bump module versions.Version 1.4.4 (released 2021-05-11)Enables login view function overridability.Allows to disable local login via configuration variable.Version 1.4.3 (released 2020-12-17)Adds theme dependent icons.Version 1.4.2 (released 2020-12-11)Fixes logout from security view.Version 1.4.1 (released 2020-12-10)Fixes styling of forgot password form in semantic ui theme.Version 1.4.0 (released 2020-12-09)Major: adds new Semantic UI theme.Adds Turkish translations.Fixesnextparameter being used in the sign-up form.Fixes issue with translation files causing translations not to be picked up.Fixes wording from sign in to log in.Removes password length validation during login.Version 1.3.0 (released 2020-05-15)Refreshes the CSRF token on login and logout.Removes the example app.Migrate fromFlask-KVSessiontoFlask-KVSession-Invenio, fork of
the former.Version 1.2.2 (released 2020-05-13)This release was removed from PyPI on 2020-05-15 due to issues with the
release.Version 1.2.1 (released 2020-04-28)Fixes issue with the latest WTForms v2.3.x release which now requires an
extra library for email validation.Version 1.2.0 (released 2020-03-09)Replaces Flask dependency with centrally managed invenio-baseVersion 1.1.4 (released 2020-04-28)Fixes issue with the latest WTForms v2.3.x release which now requires an
extra library for email validation.Version 1.1.3 (released 2020-02-19)Replaces Flask-CeleryExt to invenio-celery due to version incompatibilities
with celery, kombu. Removes Flask-BabelExt already provided by invenio-i18nVersion 1.1.2 (released 2020-02-12)Fixes requirements for Flask, Werkzeug and Flask-Login due to
incompatibilities of latest released modules.Version 1.1.1 (released 2019-03-10)Fixes an issue where the HTTP headers X-Session-ID and X-User-ID are added
even if the value is not known. This causes ‘None’ to be logged in Nginx,
instead of simply ‘-‘.Version 1.1.0 (released 2019-02-15)Added support for for adding the user id and session id of the current user
into the HTTP headers (X-User-IDandX-Session-ID) for upstream
servers to use. For instance, this way current user/session ids can be logged
by Nginx into the web server access logs. The feature is off by default and
can be enabled via theACCOUNTS_USERINFO_HEADERSconfiguration variable.
Note: The upstream server should strip the two headers from the response
returned to the client. The purpose is purely to allow upstream proxies like
Nginx to log the user/session id for a specific request.Changed token expiration from 5 days to 30 minutes for the password reset
token and email confirmation token. Using the tokens will as a side-effect
login in the user, which means that if the link is leaked (e.g. forwarded by
the users themselves), then another person can use the link to access the
account. Flask-Security v3.1.0 addresses this issue, but has not yet been
released.Fixes issue that could rehash the user password in the adminstration
interface.Version 1.0.2 (released 2018-10-31)Added AnonymousIdentity loader to app initialisation to fix theany_userNeed in Invenio-Access.Version 1.0.1 (released 2018-05-25)Bumped Flask-CeleryExt from v0.3.0 to v0.3.1 to fix issue with Celery version
string not being parsable and thus causing problems with installing Celery.Version 1.0.0 (released 2018-03-23)Initial public release.