* Fix 2 Flask apps in same thread with USERNAME_ENABLE set. There was a too aggressive config check. * Fix json/flask backwards compatibility hack. * Fix unified signup when two-factor not enabled. (sebdroid) * Add dependency on setuptools (pkg_resources). (hroncok) * Option to encrypt recovery codes. * Support for authentication via 'social' oauth. * Support for Python 3.11 * Fixes for Flask-SQLAlchemy 3.0.0. (jrast) * Fixes for sqlalchemy 2.0.0 (jrast) * Webauthn and Unified signin features now properly take into account blueprint prefixes. * Properly propagate ?next=/xx - the verify, webauthn, and unified signin endpoints, that had multiple redirects, needed fixes. * Two factor redirects ignored url_prefix. Added a SECURITY_TWO_FACTOR_ERROR_VIEW configuration option. * Add configurations for static folder/URL and make sure templates reference blueprint relative static folder. * Send entire context to MailUtil::send_mail (patrickyan) * Support for Flask-Babel 3.0.0 * Add configuration option SECURITY_TWO_FACTOR_POST_SETUP_VIEW which is redirected to upon successful change of a two factor method. * The ability to pass in a LoginManager instance which was deprecated in 5.0 has been removed. - Drop patch support-Flask-SQLAlchemy-3.0.patch, now included upstream. - Refresh all other patches. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:flask/python-Flask-Security-Too?expand=0&rev=27
37 lines
1.5 KiB
Diff
37 lines
1.5 KiB
Diff
Index: Flask-Security-Too-5.1.1/flask_security/core.py
|
|
===================================================================
|
|
--- Flask-Security-Too-5.1.1.orig/flask_security/core.py
|
|
+++ Flask-Security-Too-5.1.1/flask_security/core.py
|
|
@@ -1579,7 +1579,7 @@ class Security:
|
|
and "authenticator" in cv("TWO_FACTOR_ENABLED_METHODS", app=app)
|
|
)
|
|
if need_qrcode:
|
|
- self._check_modules("qrcode", "TWO_FACTOR or UNIFIED_SIGNIN")
|
|
+ self._check_modules("pyqrcodeng", "TWO_FACTOR or UNIFIED_SIGNIN")
|
|
|
|
need_sms = (
|
|
cv("UNIFIED_SIGNIN", app=app)
|
|
Index: Flask-Security-Too-5.1.1/flask_security/totp.py
|
|
===================================================================
|
|
--- Flask-Security-Too-5.1.1.orig/flask_security/totp.py
|
|
+++ Flask-Security-Too-5.1.1/flask_security/totp.py
|
|
@@ -140,15 +140,11 @@ class Totp:
|
|
.. versionadded:: 4.0.0
|
|
"""
|
|
try:
|
|
- import qrcode
|
|
- import qrcode.image.svg
|
|
+ import pyqrcodeng
|
|
|
|
- image = qrcode.make(
|
|
- self.get_totp_uri(username, totp),
|
|
- image_factory=qrcode.image.svg.SvgImage,
|
|
- )
|
|
+ image = pyqrcodeng.create(self.get_totp_uri(username, totp))
|
|
with io.BytesIO() as virtual_file:
|
|
- image.save(virtual_file)
|
|
+ image.svg(virtual_file, scale=1)
|
|
image_as_str = base64.b64encode(virtual_file.getvalue()).decode("ascii")
|
|
|
|
return f"data:image/svg+xml;base64,{image_as_str}"
|