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 +08:00
a8c34eb367Updated the Sphinx documentation.依瑪貓2023-10-08 22:15:44 +08:00
cc96987a18Revised the FlaskLoginTestCase test case to skip testing when Flask-Login 0.6.2 conflicts with Werkzeug 3.依瑪貓2023-10-08 22:11:50 +08:00
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 +08:00
320cfe1700Added the SKIPPED_NO_FLASK_LOGIN constant to test_flask_login.py, to simplify the code.依瑪貓2023-06-10 16:45:19 +08:00
b62b98bd51Changed the properties of the test cases from public to private.imacat2023-06-08 17:28:35 +08:00
877f02fe82Added missing documentation to the global variables and class and object properties.imacat2023-06-08 17:20:24 +08:00
bc888195adDisabled logging in the AuthenticationTestCase and FlaskLoginTestCase test cases, for clearer test output.依瑪貓2023-05-03 08:08:51 +08:00
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 +08:00
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 +08:00
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 +08:00
919b8d0dc3Removed the unnecessary f-string in the __make_response_header method of the DigestAuth class.依瑪貓2023-04-29 10:44:15 +08:00
604ed0be27Updated the Python version in the Read the Docs configuration.依瑪貓2023-04-27 00:38:46 +08:00
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 +08:00
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 +08:00
bc15a578cbAdded the change log.依瑪貓2023-04-23 22:36:31 +08:00
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 +08:00
769ca7ddddReplaced the requirements.txt in the docs directory with the Read the Docs configuration file.依瑪貓2023-04-05 23:52:43 +08:00
33eb81f368Replaced setup.cfg with pyproject.toml for the package settings, and rewrote the packaging rules in MANIFEST.in.依瑪貓2023-04-05 23:09:44 +08:00
5faf51c49bRemoved the realm from the example in the documentation of the init_app method of the DigestAuth class.依瑪貓2023-01-07 15:03:37 +08:00
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 +08:00
5ebdea6d0aReordered the code in the create_app methods of the AuthenticationTestCase and FlaskLoginTestCase test cases.依瑪貓2023-01-05 22:50:59 +08:00
ea31bb9579Revised the coding style in the init_app method of the DigestAuth class.依瑪貓2023-01-05 22:42:59 +08:00
9ab413d583Added the test_disabled test to the FlaskLoginTestCase test case.imacat2022-12-29 23:44:02 +08:00
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 +08:00
a07118ef9cRevised the documentation for digest_auth parameter of the open method in the test client, to be clear.依瑪貓2022-12-07 18:59:41 +08:00
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 +08:00
79abdc9cdeFixed the documentation of the login_required decorator in the DigestAuth class.依瑪貓2022-12-07 18:48:39 +08:00
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 +08:00
0387abb4f6Revised the documentation in the "flask_digest_auth.auth" module.依瑪貓2022-12-07 18:39:20 +08:00
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 +08:00
c004e28c37Fixed the documentation of the AuthState class and the UnauthorizedException exception.依瑪貓2022-12-07 16:08:07 +08:00
46f05a1022Updated the Sphinx version that is used to create the document template.依瑪貓2022-12-07 09:48:56 +08:00
b9384150b7Added documentation to the private properties of DigestAuth.依瑪貓2022-12-07 06:55:34 +08:00
92eb011470Added the documentation to MANIFEST.in.依瑪貓2022-12-06 22:04:58 +08:00
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 +08:00
765822a300Revised the documentation.依瑪貓2022-12-06 21:54:10 +08:00
e9a6449505Changed the "authenticate" and "make_response_header" methods to private in the DigestAuth class.依瑪貓2022-12-06 21:22:16 +08:00
df15f0b0d5Revised the introduction in the documentation.依瑪貓2022-12-06 20:58:13 +08:00
6c7f7e8c8eAdded the comment to the master_doc setting in conf.py.依瑪貓2022-12-06 20:02:53 +08:00
dfc1108b41Added master_doc to conf.py.依瑪貓2022-12-06 19:34:45 +08:00
4fe57532b0Added the installation instructions to the introduction in the documentation.依瑪貓2022-12-06 19:34:26 +08:00
d104b0f28dRevised the title of the documentation.依瑪貓2022-12-06 18:55:20 +08:00
30106c7e9fAdded the introduction to the documentation.依瑪貓2022-12-06 18:54:40 +08:00
9997985d8cAdded the examples to the documentation.依瑪貓2022-12-06 18:22:26 +08:00
6057fc0987Revised the documentation of the Client class and the calc_response function.依瑪貓2022-12-06 18:01:01 +08:00
a6dc530ac7Moved the BasePasswordHashGetter, BaseUserGetter, and BaseUserGetter classes to the end of flask_digest_auth.auth, for readability.依瑪貓2022-12-06 17:47:21 +08:00
6a14c04aaaMoved UnauthorizedException from flask_digest_auth.exception to flask_digest_auth.auth, because it is only used there.依瑪貓2022-12-06 17:46:17 +08:00
f9e10ecb2fReplaced validate_required with assert in the calc_response function, for simplicity.依瑪貓2022-12-06 17:44:18 +08:00
b6bfb2eae9Revised the documentation of the DigestAuth class and the calc_response function.依瑪貓2022-12-06 17:38:58 +08:00
e6b4594393Added the Sphinx documentation.依瑪貓2022-12-06 17:38:14 +08:00
cbbd2248f0Added the pytest test example to README.rst.依瑪貓2022-12-06 07:54:49 +08:00
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 +08:00
7e71115844Fixed the test_logout test of the FlaskLoginTestCase test case to skip without Flask-Login.依瑪貓2022-12-03 11:56:40 +08:00
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 +08:00
bbaebbc80dFixed the long lines in the AuthenticationTestCase and FlaskLoginTestCase test cases.依瑪貓2022-11-30 23:35:04 +08:00
0dfdf70c45Fixed a minor problem in the get_logged_in_user function.依瑪貓2022-11-30 08:31:58 +08:00
0432561b21Revised the minor problems in README.rst.依瑪貓2022-11-30 08:31:26 +08:00
3709cb4d66Fixed the return type hint of the get_logged_in_user function.依瑪貓2022-11-30 08:30:42 +08:00
9d0d0b2686Revised the login_required method of the DigestAuth class for readability.依瑪貓2022-11-29 22:24:25 +08:00
8c98d35934Revised the calc_response function for readability.依瑪貓2022-11-29 22:09:42 +08:00
7db38c7eaeRevised the code in the make_authorization method of the test client.依瑪貓2022-11-29 21:53:16 +08:00
9616fb3ddcAdded the get_opaque inline function in the make_response_header method of the DigestAuth class for readability.依瑪貓2022-11-29 21:52:19 +08:00
f473db29a8Revised the order in .gitignore.依瑪貓2022-11-29 20:32:25 +08:00
b39e9b1321Added sonar-project.properties to .gitignore.依瑪貓2022-11-29 20:25:08 +08:00
f3b525d715Replaced random.random() with secrets.randbits() in the make_response_header method of the DigestAuth class.依瑪貓2022-11-29 19:13:50 +08:00