Compare commits
	
		
			2 Commits
		
	
	
		
			4296756ae7
			...
			46f05a1022
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 46f05a1022 | |||
| b9384150b7 | 
| @@ -10,8 +10,6 @@ if "%SPHINXBUILD%" == "" ( | |||||||
| set SOURCEDIR=source | set SOURCEDIR=source | ||||||
| set BUILDDIR=build | set BUILDDIR=build | ||||||
|  |  | ||||||
| if "%1" == "" goto help |  | ||||||
|  |  | ||||||
| %SPHINXBUILD% >NUL 2>NUL | %SPHINXBUILD% >NUL 2>NUL | ||||||
| if errorlevel 9009 ( | if errorlevel 9009 ( | ||||||
| 	echo. | 	echo. | ||||||
| @@ -21,10 +19,12 @@ if errorlevel 9009 ( | |||||||
| 	echo.may add the Sphinx directory to PATH. | 	echo.may add the Sphinx directory to PATH. | ||||||
| 	echo. | 	echo. | ||||||
| 	echo.If you don't have Sphinx installed, grab it from | 	echo.If you don't have Sphinx installed, grab it from | ||||||
| 	echo.http://sphinx-doc.org/ | 	echo.https://www.sphinx-doc.org/ | ||||||
| 	exit /b 1 | 	exit /b 1 | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  | if "%1" == "" goto help | ||||||
|  |  | ||||||
| %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% | ||||||
| goto end | goto end | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,59 +1,32 @@ | |||||||
| # Configuration file for the Sphinx documentation builder. | # Configuration file for the Sphinx documentation builder. | ||||||
| # | # | ||||||
| # This file only contains a selection of the most common options. For a full | # For the full list of built-in configuration values, see the documentation: | ||||||
| # list see the documentation: |  | ||||||
| # https://www.sphinx-doc.org/en/master/usage/configuration.html | # https://www.sphinx-doc.org/en/master/usage/configuration.html | ||||||
| import os | import os | ||||||
| # -- Path setup -------------------------------------------------------------- |  | ||||||
|  |  | ||||||
| # If extensions (or modules to document with autodoc) are in another directory, |  | ||||||
| # add these directories to sys.path here. If the directory is relative to the |  | ||||||
| # documentation root, use os.path.abspath to make it absolute, like shown here. |  | ||||||
| # |  | ||||||
| import sys | import sys | ||||||
|  |  | ||||||
| sys.path.insert(0, os.path.abspath('../../src/')) | sys.path.insert(0, os.path.abspath('../../src/')) | ||||||
|  |  | ||||||
|  |  | ||||||
| # -- Project information ----------------------------------------------------- | # -- Project information ----------------------------------------------------- | ||||||
|  | # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information | ||||||
|  |  | ||||||
| project = 'Flask-Digest-Auth' | project = 'Flask-Digest-Auth' | ||||||
| copyright = '2022, imacat' | copyright = '2022, imacat' | ||||||
| author = 'imacat' | author = 'imacat' | ||||||
|  |  | ||||||
| # The full version, including alpha/beta/rc tags |  | ||||||
| release = '0.3.0' | release = '0.3.0' | ||||||
|  |  | ||||||
|  |  | ||||||
| # -- General configuration --------------------------------------------------- | # -- General configuration --------------------------------------------------- | ||||||
|  | # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration | ||||||
|  |  | ||||||
| # Add any Sphinx extension module names here, as strings. They can be | extensions = ["sphinx.ext.autodoc"] | ||||||
| # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom |  | ||||||
| # ones. |  | ||||||
| extensions = [ |  | ||||||
|     "sphinx.ext.autodoc" |  | ||||||
| ] |  | ||||||
|  |  | ||||||
| # Add any paths that contain templates here, relative to this directory. |  | ||||||
| templates_path = ['_templates'] | templates_path = ['_templates'] | ||||||
|  |  | ||||||
| # List of patterns, relative to source directory, that match files and |  | ||||||
| # directories to ignore when looking for source files. |  | ||||||
| # This pattern also affects html_static_path and html_extra_path. |  | ||||||
| exclude_patterns = [] | exclude_patterns = [] | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| # -- Options for HTML output ------------------------------------------------- | # -- Options for HTML output ------------------------------------------------- | ||||||
|  | # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output | ||||||
|  |  | ||||||
| # The theme to use for HTML and HTML Help pages.  See the documentation for |  | ||||||
| # a list of builtin themes. |  | ||||||
| # |  | ||||||
| html_theme = 'sphinx_rtd_theme' | html_theme = 'sphinx_rtd_theme' | ||||||
|  |  | ||||||
| # Add any paths that contain custom static files (such as style sheets) here, |  | ||||||
| # relative to this directory. They are copied after the builtin static files, |  | ||||||
| # so a file named "default.css" will overwrite the builtin "default.css". |  | ||||||
| html_static_path = ['_static'] | html_static_path = ['_static'] | ||||||
|  |  | ||||||
| # For readthedocs.io to work properly. |  | ||||||
| master_doc = 'index' |  | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| .. flask-digest-auth documentation master file, created by | .. Flask-Digest-Auth documentation master file, created by | ||||||
|    sphinx-quickstart on Tue Dec  6 15:15:08 2022. |    sphinx-quickstart on Wed Dec  7 09:40:48 2022. | ||||||
|    You can adapt this file completely to your liking, but it should at least |    You can adapt this file completely to your liking, but it should at least | ||||||
|    contain the root `toctree` directive. |    contain the root `toctree` directive. | ||||||
|  |  | ||||||
|   | |||||||
| @@ -43,6 +43,7 @@ class DigestAuth: | |||||||
|         """ |         """ | ||||||
|         self.__serializer: URLSafeTimedSerializer \ |         self.__serializer: URLSafeTimedSerializer \ | ||||||
|             = URLSafeTimedSerializer(token_urlsafe(32)) |             = URLSafeTimedSerializer(token_urlsafe(32)) | ||||||
|  |         """The serializer to generate and validate the nonce and opaque.""" | ||||||
|         self.realm: str = "" if realm is None else realm |         self.realm: str = "" if realm is None else realm | ||||||
|         """The realm.  Default is an empty string.""" |         """The realm.  Default is an empty string.""" | ||||||
|         self.algorithm: t.Optional[t.Literal["MD5", "MD5-sess"]] = None |         self.algorithm: t.Optional[t.Literal["MD5", "MD5-sess"]] = None | ||||||
| @@ -61,8 +62,11 @@ class DigestAuth: | |||||||
|         """The current Flask application.""" |         """The current Flask application.""" | ||||||
|         self.__get_password_hash: BasePasswordHashGetter \ |         self.__get_password_hash: BasePasswordHashGetter \ | ||||||
|             = BasePasswordHashGetter() |             = BasePasswordHashGetter() | ||||||
|  |         """The callback to return the password hash.""" | ||||||
|         self.__get_user: BaseUserGetter = BaseUserGetter() |         self.__get_user: BaseUserGetter = BaseUserGetter() | ||||||
|  |         """The callback to return the user.""" | ||||||
|         self.__on_login: BaseOnLogInCallback = BaseOnLogInCallback() |         self.__on_login: BaseOnLogInCallback = BaseOnLogInCallback() | ||||||
|  |         """The callback to run when the user logs in.""" | ||||||
|  |  | ||||||
|     def login_required(self, view) -> t.Callable: |     def login_required(self, view) -> t.Callable: | ||||||
|         """The view decorator for HTTP digest authentication. |         """The view decorator for HTTP digest authentication. | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user