%global _empty_manifest_terminate_build 0
Name: python-flask-htpasswd
Version: 0.5.0
Release: 1
Summary: Basic authentication support via htpasswd files in flask applications
License: BSD New
URL: http://github.com/carsongee/flask-htpasswd
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/12/23/a48ba432293903a161c674a19c791f84f9b98e6c7310d0190fb92555c655/flask-htpasswd-0.5.0.tar.gz
BuildArch: noarch
Requires: python3-Flask
Requires: python3-passlib
Requires: python3-pyjwt
Requires: python3-tox
%description
Flask extension for providing basic digest and token authentication
via apache htpasswd files. So largely it fits between `Flask-Security
`_ which has additional
dependencies and `Flask-BasicAuth
`_ which only
allows you to have one user (and also puts the plain text password
into the configuration).
Sample usage is to first create an htpasswd file with the `apache tool `_:
htpasswd -c /path/to/.htpasswd my_username
Additional users can be added, or have their passwords changed, by running:
htpasswd /path/to/.htpasswd new_user
htpasswd /path/to/.htpasswd user_I_want_to_change_passwords_for
Then you just need to setup and configure your flask application, with
something like:
import flask
from flask_htpasswd import HtPasswdAuth
app = flask.Flask(__name__)
app.config['FLASK_HTPASSWD_PATH'] = '/path/to/.htpasswd'
app.config['FLASK_SECRET'] = 'Hey Hey Kids, secure me!'
htpasswd = HtPasswdAuth(app)
@app.route('/')
@htpasswd.required
def index(user):
return 'Hello {user}'.format(user=user)
app.run(debug=True)
And that view should now prompt for a username and password (and
accept tokens).
If you would like to protect all of your views, that is easy too, just
add a little config. By setting ``app.config['FLASK_AUTH_ALL']=True``
before initializing the extension, an ``@app.before_request`` is added
that will require auth for all pages, and it will add the user as
``flask.g.user``.
One last small feature, is that you can also set the authentication
realm. The default is 'Login Required', but it can be set with
``app.config['FLASK_AUTH_REALM']`` before initialization.
%package -n python3-flask-htpasswd
Summary: Basic authentication support via htpasswd files in flask applications
Provides: python-flask-htpasswd
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-flask-htpasswd
Flask extension for providing basic digest and token authentication
via apache htpasswd files. So largely it fits between `Flask-Security
`_ which has additional
dependencies and `Flask-BasicAuth
`_ which only
allows you to have one user (and also puts the plain text password
into the configuration).
Sample usage is to first create an htpasswd file with the `apache tool `_:
htpasswd -c /path/to/.htpasswd my_username
Additional users can be added, or have their passwords changed, by running:
htpasswd /path/to/.htpasswd new_user
htpasswd /path/to/.htpasswd user_I_want_to_change_passwords_for
Then you just need to setup and configure your flask application, with
something like:
import flask
from flask_htpasswd import HtPasswdAuth
app = flask.Flask(__name__)
app.config['FLASK_HTPASSWD_PATH'] = '/path/to/.htpasswd'
app.config['FLASK_SECRET'] = 'Hey Hey Kids, secure me!'
htpasswd = HtPasswdAuth(app)
@app.route('/')
@htpasswd.required
def index(user):
return 'Hello {user}'.format(user=user)
app.run(debug=True)
And that view should now prompt for a username and password (and
accept tokens).
If you would like to protect all of your views, that is easy too, just
add a little config. By setting ``app.config['FLASK_AUTH_ALL']=True``
before initializing the extension, an ``@app.before_request`` is added
that will require auth for all pages, and it will add the user as
``flask.g.user``.
One last small feature, is that you can also set the authentication
realm. The default is 'Login Required', but it can be set with
``app.config['FLASK_AUTH_REALM']`` before initialization.
%package help
Summary: Development documents and examples for flask-htpasswd
Provides: python3-flask-htpasswd-doc
%description help
Flask extension for providing basic digest and token authentication
via apache htpasswd files. So largely it fits between `Flask-Security
`_ which has additional
dependencies and `Flask-BasicAuth
`_ which only
allows you to have one user (and also puts the plain text password
into the configuration).
Sample usage is to first create an htpasswd file with the `apache tool `_:
htpasswd -c /path/to/.htpasswd my_username
Additional users can be added, or have their passwords changed, by running:
htpasswd /path/to/.htpasswd new_user
htpasswd /path/to/.htpasswd user_I_want_to_change_passwords_for
Then you just need to setup and configure your flask application, with
something like:
import flask
from flask_htpasswd import HtPasswdAuth
app = flask.Flask(__name__)
app.config['FLASK_HTPASSWD_PATH'] = '/path/to/.htpasswd'
app.config['FLASK_SECRET'] = 'Hey Hey Kids, secure me!'
htpasswd = HtPasswdAuth(app)
@app.route('/')
@htpasswd.required
def index(user):
return 'Hello {user}'.format(user=user)
app.run(debug=True)
And that view should now prompt for a username and password (and
accept tokens).
If you would like to protect all of your views, that is easy too, just
add a little config. By setting ``app.config['FLASK_AUTH_ALL']=True``
before initializing the extension, an ``@app.before_request`` is added
that will require auth for all pages, and it will add the user as
``flask.g.user``.
One last small feature, is that you can also set the authentication
realm. The default is 'Login Required', but it can be set with
``app.config['FLASK_AUTH_REALM']`` before initialization.
%prep
%autosetup -n flask-htpasswd-0.5.0
%build
%py3_build
%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python3-flask-htpasswd -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Mon May 29 2023 Python_Bot - 0.5.0-1
- Package Spec generated