aboutsummaryrefslogtreecommitdiff
path: root/weblogin.spec.in
blob: ac63130571d628de72b621fb2fa7c04651a14de2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Summary: A login page for websites that provides a JSON Web Token
Name: weblogin
Version: VERSION
Release: RELEASE
License: MIT
URL: https://git.hrhr.dev/weblogin/about
Distribution: Fedora 38
Vendor: Holden Rohrer
Packager: Holden Rohrer <hr@hrhr.dev>
BuildArch: noarch
Requires: python3
Requires: python3-flask
Requires: python3-passlib
Requires: python3-jwt+crypto

Source: weblogin.tar.gz

%define username weblogin
%define installdir /usr/lib/%{username}
%define sharedir /usr/share/%{username}
%define vardir /var/lib/%{username}

%description
This is a small flask webserver that returns a JSON web token for form
requests at /auth, submitted by a user of the /login.html page.
A GET request to /logout will remove the JSON web token cookie (the
cookie auth is used for storage).

%global debug_package %{nil}

%pre
getent group %{username} >/dev/null || groupadd -r %{username}
getent passwd %{username} >/dev/null || useradd -r -s /sbin/nologin\
    -g %{username} -c "weblogin server" -d %{installdir} -M %{username}

%prep
%autosetup

%install
mkdir -p %{buildroot}%{installdir} %{buildroot}%{sharedir} %{buildroot}%{vardir}
ls
cp -t %{buildroot}%{installdir} login.py
cp -t %{buildroot}%{sharedir} login.html

%clean
rm -rf %{buildroot}

%files
%doc README
%license LICENSE
%defattr(644, %{username}, %{username}, 755)
%attr(755, weblogin, weblogin) %{installdir}/login.py
%{sharedir}/login.html
%attr(600, weblogin, weblogin) %{vardir}