Auth support (#25)

* initial auth implementation

* add create user parser

* add tests

* update dependencies list

* add login annd logout to index also improve auth

* realworld fixes

* add method set_option to Configuration and also use it everywhere
* split CreateUser handler to additional read method
* check user duplicate on auth mapping read
* generate salt by using passlib instead of random.choice
* case-insensetive usernames
* update dependencies
* update configuration reference
* improve tests

* fix codefactor errors

* hide fields if authorization is enabled, but no auth supplied

* add settings object for auth provider

* readme update
This commit is contained in:
2021-09-02 23:36:00 +03:00
committed by GitHub
parent 60b94b9ac0
commit b7cff0a19d
63 changed files with 2200 additions and 184 deletions

View File

@ -1,11 +1,10 @@
from build_manpages import build_manpages
from pathlib import Path
from setuptools import setup, find_packages
from typing import Any, Dict
metadata_path = Path(__file__).resolve().parent / "src/ahriman/version.py"
metadata: Dict[str, Any] = dict()
metadata: Dict[str, Any] = {}
with metadata_path.open() as metadata_file:
exec(metadata_file.read(), metadata) # pylint: disable=exec-used
@ -31,6 +30,7 @@ setup(
],
install_requires=[
"aur",
"passlib",
"pyalpm",
"requests",
"srcinfo",
@ -97,10 +97,10 @@ setup(
"Jinja2",
"aiohttp",
"aiohttp_jinja2",
"aiohttp_session",
"aiohttp_security",
"cryptography",
"passlib",
],
},
cmdclass={
"build_manpages": build_manpages.build_manpages,
}
)