409b04af47Added docs/requirements.txt and the "sphinx_rtd_theme" theme to the readthedocs configuration, as Read the Docs does not install sphinx_rtd_theme by default after August 7, 2023.依瑪貓2023-10-08 22:37:33 +0800
a8c34eb367Updated the Sphinx documentation.依瑪貓2023-10-08 22:15:44 +0800
cc96987a18Revised the FlaskLoginTestCase test case to skip testing when Flask-Login 0.6.2 conflicts with Werkzeug 3.依瑪貓2023-10-08 22:11:50 +0800
1f657568bbReplaced the "Flask-Testing" package with the "httpx" package for testing, and retired the unused "flask_digest_auth.test" module. "Flask-Testing" is not maintained for more than 3 years, and is not compatible with Flask 3.依瑪貓2023-10-05 08:37:54 +0800
320cfe1700Added the SKIPPED_NO_FLASK_LOGIN constant to test_flask_login.py, to simplify the code.依瑪貓2023-06-10 16:45:19 +0800
b62b98bd51Changed the properties of the test cases from public to private.imacat2023-06-08 17:28:35 +0800
877f02fe82Added missing documentation to the global variables and class and object properties.imacat2023-06-08 17:20:24 +0800
bc888195adDisabled logging in the AuthenticationTestCase and FlaskLoginTestCase test cases, for clearer test output.依瑪貓2023-05-03 08:08:51 +0800
8e69733cf6Updated the login_required view decorator of the DigestAuth class, replaced writing to STDERR directly with warning through the Flask logger.依瑪貓2023-05-03 08:05:28 +0800
15ea650dddRevised the code that handles the "qop" and "stale" parameters of the "WWW-Authenticate" response HTTP header for the upcoming Werkzeug 2.4.依瑪貓2023-05-03 06:56:31 +0800
5b255b6504Split the Flask-Login login manager initialization from the init_app method to the __init_login_manager method in the DigestAuth class, to simplify the code.依瑪貓2023-04-29 11:17:11 +0800
919b8d0dc3Removed the unnecessary f-string in the __make_response_header method of the DigestAuth class.依瑪貓2023-04-29 10:44:15 +0800
604ed0be27Updated the Python version in the Read the Docs configuration.依瑪貓2023-04-27 00:38:46 +0800
e861cae2e0Replaced importing the "typing" module as "t" with importing the individual names in the "typing" module. We do not have as many names to import. This is also to be consistent with the practices of most major and standard packages and examples.依瑪貓2023-04-26 23:15:13 +0800
264ba158eeUpdated minimal Python version to 3.8. As "typing.Literal" is used from the beginning of the project, it is never compatible with Python 3.7. I suppose it was ignored by Python 3.7 when importing the "typing" package but not the name "Literal" itself for type hints.依瑪貓2023-04-26 22:30:15 +0800
bc15a578cbAdded the change log.依瑪貓2023-04-23 22:36:31 +0800
cedff68247Added the "VERSION" constant to the "flask_digest_auth" module for the package version, and revised "pyproject.toml" and "conf.py" to read the version from it.依瑪貓2023-04-23 22:14:33 +0800
769ca7ddddReplaced the requirements.txt in the docs directory with the Read the Docs configuration file.依瑪貓2023-04-05 23:52:43 +0800
33eb81f368Replaced setup.cfg with pyproject.toml for the package settings, and rewrote the packaging rules in MANIFEST.in.依瑪貓2023-04-05 23:09:44 +0800
5faf51c49bRemoved the realm from the example in the documentation of the init_app method of the DigestAuth class.依瑪貓2023-01-07 15:03:37 +0800
27d27127f6Added the DIGEST_AUTH_REALM configuration variable as the recommended way to set the authentication realm. Changed the default realm from an empty string to "Login Required".依瑪貓2023-01-06 00:19:24 +0800
5ebdea6d0aReordered the code in the create_app methods of the AuthenticationTestCase and FlaskLoginTestCase test cases.依瑪貓2023-01-05 22:50:59 +0800
ea31bb9579Revised the coding style in the init_app method of the DigestAuth class.依瑪貓2023-01-05 22:42:59 +0800
9ab413d583Added the test_disabled test to the FlaskLoginTestCase test case.imacat2022-12-29 23:44:02 +0800
aeb93a60e5Fixed to store the auth state in request instead of the g global object in the flask_login load_user_from_request and unauthorized handlers in the init_app method of the DigestAuth class. This is so that the auth state is always reset in the lifecycle of request even if g stays. Revised the unauthorized to create a new auth state if it is not available in the current request, in the case that the load_user_from_request handler was not run previously.imacat2022-12-29 23:43:35 +0800
a07118ef9cRevised the documentation for digest_auth parameter of the open method in the test client, to be clear.依瑪貓2022-12-07 18:59:41 +0800
514e9255aaReplaced "my_user" and "my_pass" with USERNAME and PASSWORD in the examples of the test client in the documentation, to avoid GitGuardian from detecting them as real passwords.依瑪貓2022-12-07 18:55:52 +0800
79abdc9cdeFixed the documentation of the login_required decorator in the DigestAuth class.依瑪貓2022-12-07 18:48:39 +0800
038e7a8352Removed the warnings in the documentation of the test client. It is API document now. All content, for public or not, are available. There is no need to warn now.依瑪貓2022-12-07 18:45:06 +0800
0387abb4f6Revised the documentation in the "flask_digest_auth.auth" module.依瑪貓2022-12-07 18:39:20 +0800
10e8add9e6Replaced the manually-added package content with the automatically-generated package content, and added the modules list to the documentation.依瑪貓2022-12-07 18:11:35 +0800
c004e28c37Fixed the documentation of the AuthState class and the UnauthorizedException exception.依瑪貓2022-12-07 16:08:07 +0800
46f05a1022Updated the Sphinx version that is used to create the document template.依瑪貓2022-12-07 09:48:56 +0800
b9384150b7Added documentation to the private properties of DigestAuth.依瑪貓2022-12-07 06:55:34 +0800
92eb011470Added the documentation to MANIFEST.in.依瑪貓2022-12-06 22:04:58 +0800
b5ecd1552bAdded the .keep files to the _static and _templates subdirectories in the docs directory to keep them in the source distribution.依瑪貓2022-12-06 22:04:33 +0800
765822a300Revised the documentation.依瑪貓2022-12-06 21:54:10 +0800
e9a6449505Changed the "authenticate" and "make_response_header" methods to private in the DigestAuth class.依瑪貓2022-12-06 21:22:16 +0800
df15f0b0d5Revised the introduction in the documentation.依瑪貓2022-12-06 20:58:13 +0800
6c7f7e8c8eAdded the comment to the master_doc setting in conf.py.依瑪貓2022-12-06 20:02:53 +0800
dfc1108b41Added master_doc to conf.py.依瑪貓2022-12-06 19:34:45 +0800
4fe57532b0Added the installation instructions to the introduction in the documentation.依瑪貓2022-12-06 19:34:26 +0800
d104b0f28dRevised the title of the documentation.依瑪貓2022-12-06 18:55:20 +0800
30106c7e9fAdded the introduction to the documentation.依瑪貓2022-12-06 18:54:40 +0800
9997985d8cAdded the examples to the documentation.依瑪貓2022-12-06 18:22:26 +0800
6057fc0987Revised the documentation of the Client class and the calc_response function.依瑪貓2022-12-06 18:01:01 +0800
a6dc530ac7Moved the BasePasswordHashGetter, BaseUserGetter, and BaseUserGetter classes to the end of flask_digest_auth.auth, for readability.依瑪貓2022-12-06 17:47:21 +0800
6a14c04aaaMoved UnauthorizedException from flask_digest_auth.exception to flask_digest_auth.auth, because it is only used there.依瑪貓2022-12-06 17:46:17 +0800
f9e10ecb2fReplaced validate_required with assert in the calc_response function, for simplicity.依瑪貓2022-12-06 17:44:18 +0800
b6bfb2eae9Revised the documentation of the DigestAuth class and the calc_response function.依瑪貓2022-12-06 17:38:58 +0800
e6b4594393Added the Sphinx documentation.依瑪貓2022-12-06 17:38:14 +0800
cbbd2248f0Added the pytest test example to README.rst.依瑪貓2022-12-06 07:54:49 +0800
2028cb1362Revised the User class in the AuthenticationTestCase and FlaskLoginTestCase test classes to accept the clear-text password instead of the password hash, to simplify the code.依瑪貓2022-12-03 14:30:22 +0800
7e71115844Fixed the test_logout test of the FlaskLoginTestCase test case to skip without Flask-Login.依瑪貓2022-12-03 11:56:40 +0800
491da61a79Fixed the AuthenticationTestCase and FlaskLoginTestCase test cases to store the user instead of finding the user through flask-login or g, so that the visit tests work without the application context.依瑪貓2022-12-03 11:55:52 +0800
bbaebbc80dFixed the long lines in the AuthenticationTestCase and FlaskLoginTestCase test cases.依瑪貓2022-11-30 23:35:04 +0800
0dfdf70c45Fixed a minor problem in the get_logged_in_user function.依瑪貓2022-11-30 08:31:58 +0800
0432561b21Revised the minor problems in README.rst.依瑪貓2022-11-30 08:31:26 +0800
3709cb4d66Fixed the return type hint of the get_logged_in_user function.依瑪貓2022-11-30 08:30:42 +0800
9d0d0b2686Revised the login_required method of the DigestAuth class for readability.依瑪貓2022-11-29 22:24:25 +0800
8c98d35934Revised the calc_response function for readability.依瑪貓2022-11-29 22:09:42 +0800
7db38c7eaeRevised the code in the make_authorization method of the test client.依瑪貓2022-11-29 21:53:16 +0800
9616fb3ddcAdded the get_opaque inline function in the make_response_header method of the DigestAuth class for readability.依瑪貓2022-11-29 21:52:19 +0800
f473db29a8Revised the order in .gitignore.依瑪貓2022-11-29 20:32:25 +0800
b39e9b1321Added sonar-project.properties to .gitignore.依瑪貓2022-11-29 20:25:08 +0800
f3b525d715Replaced random.random() with secrets.randbits() in the make_response_header method of the DigestAuth class.依瑪貓2022-11-29 19:13:50 +0800