Commit Graph
76 Commits
Author SHA1 Message Date
Wu Clan df4de20ba4 Update development process suggestions (#114) 2023-06-12 18:50:17 +08:00
Wu Clan 37ecff4fc3 Update the README document (#113)
* Update the README document

* fix typo
2023-06-11 12:50:06 +08:00
Wu Clan d292768432 Fix offline parse ip info (#112)
* Fix get info subscript

* Fix return typing
2023-06-11 12:49:46 +08:00
dylan c4c835cfb8 opera_log_middleware method split (#105)
* opera_log_middleware method split

* extract ip and ua information

* added ua and ip information to login log and operation log

* extract request args func

* desensitization adds async decorations

* fix get summary exception

* fix get summary exception2
2023-06-11 05:05:31 +08:00
Wu Clan a80f060dde Replace aioredis to redis. (#108)
* Replace aioredis to redis.

* TimeoutError from redis exceptions.
2023-06-10 17:28:31 +08:00
Wu Clan 682e2fdd88 Add casbine-related interfaces (#107)
* Add casbin-related interfaces

* format
2023-06-10 17:28:18 +08:00
Wu Clan c716d456e8 Add departmental status authentication (#104)
* Add departmental status authentication

* Update jwt middleware error message output
2023-06-10 17:27:51 +08:00
dylan e091b23589 Remove useless jwt role_ids (#103)
* Remove useless jwt role_ids

* Remove get_role_ids method
2023-06-09 16:44:55 +08:00
Wu Clan 6c5e7a6881 Add department-related interfaces and others (#101)
* Add tool to build tree structure data

* Update to keyword parameter style

* Add department-related interfaces

* Update departmental section interface permissions

* Add TODO and minor fixes

* Fix department relationships

* Fix user foreign key relationship deletion setting

* Add path parameters to the operation log

* Complete todo items

* Update department deletion logic

* Update operation log entry records

* Add AES encryption algorithm

* Add operation log request entry to the secret

* Fix naming prefixes

* Add easy encryption tools

* FIX CASBIN_EXCLUDE typing

* Update user password reset interface

* Add confirm_password to the operation log encryption
2023-06-09 11:00:13 +08:00
Wu Clan abcc9d2308 Add sync to async decorator support (#96)
* Add sync to async decorator support

* Update ASyncTranslator to asgiref
2023-06-06 20:13:33 +08:00
Wu Clan 9e833db5f5 Uniform schema class naming convention style. (#98) 2023-06-06 19:48:03 +08:00
Wu Clan bddbf3a1d8 Add os and browser parameters to opera log (#97) 2023-06-06 10:09:43 +08:00
Wu Clan e728a0389b Fix the opera log cost_time parameter (#95) 2023-06-06 10:09:28 +08:00
Wu Clan 465884e82e Fix user authorization lock (#94) 2023-06-05 21:24:08 +08:00
Wu Clan 627208b216 Add operation log related interfaces (#92)
* Add operation log related interfaces

* Update to native ASGI middleware

* add the opera model class to the __init__.py

* Executable code collation

* Reply to the access middleware

* Using the request extension params in the login log

* Fix the whitelist list

* Fix username resolution
2023-06-05 21:23:48 +08:00
Wu Clan 9dce49dab8 Add assertion error handler (#93) 2023-06-05 15:17:43 +08:00
dependabot[bot] ec38c3b7d8 Bump cryptography from 39.0.1 to 41.0.0 (#90)
Bumps [cryptography](https://github.com/pyca/cryptography) from 39.0.1 to 41.0.0.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/39.0.1...41.0.0)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-03 10:08:51 +08:00
Wu Clan 8a18186a7c Add role-related interfaces (#89) 2023-06-03 10:07:55 +08:00
Wu Clan d4f4f3f329 Update docker one-click deployment (#88)
* Update the docker-compose deployment directory and internals

* missed updates

* update readme style
2023-06-02 20:39:26 +08:00
Wu Clan e6640e7936 Fix the merge issues (#87)
* Fix the login log status value.

* Fix config information interface constants

* Add fuzzy paging query for login logs

* Fix fuzzy paging query for query user interface

* Fix jwt middleware internal exception not caught
2023-06-01 16:04:59 +08:00
Wu Clan 61147d4636 Fix background task not executed (#86)
* Fix login auth failure exception

* Add background task to custom exception class

* Fix branch conflicts

* Update login log status to enum.
2023-05-31 16:16:10 +08:00
Wu Clan 14e1e20185 add jwt authentication middleware (#84)
* Add jwt authentication middleware

* Fix branch conflicts
2023-05-31 16:03:44 +08:00
Wu Clan 227d76cc5f update token handling logic (#83)
* Update token store, refresh, whitelist

* Update the token handling logic when update a user's multi-login status

* Delete all tokens when the user delete

* Fix the user logout interface

* Fix the get refresh token interface

* Fix multi-point login judgement when creat token

* Update the refresh_token interface

* Fix redis prefix deletion exclusion

* Fix token deletion error when user deleted

* Update the token time base to datetime.now()

* Update limiter storage prefix to settings

* Fix user login time not updated to database

* Allowing a user to have multiple refresh tokens.

* Add code comment to user multi-login update method

* Remove refresh token get and create interface

* Add user update multipoint login delete refresh token
2023-05-31 15:24:09 +08:00
Wu Clan fcc874bbd1 add api module Interfaces (#79)
* Add api module related interfaces

* Add filter to user paging query interface
2023-05-29 10:11:26 +08:00
Wu Clan 16b25c798f add offline ip location resolution (#78) 2023-05-29 10:10:59 +08:00
Wu Clan 926a3f9b4e add different log files (#77) 2023-05-27 22:57:33 +08:00
Wu Clan 4e4c6fbe95 add login logs (#76)
* simplify crud method naming

* update get_user_list to get_select

* add sign in logs

* Perform pre-commit fix

* Encapsulated request ip address resolution

* Delete login log records for uncertain exceptions

* Add login log deletion interface

* Add login logging to background tasks

* update the user agent parse
2023-05-27 22:55:25 +08:00
Wu Clan 9b5a19a58b simplify crud method naming (#75)
* simplify crud method naming

* update get_user_list to get_select
2023-05-26 16:13:32 +08:00
dylan 4868cb142b update where query (#74) 2023-05-25 18:43:31 +08:00
Wu Clan d8b19705ab add tests exclusion E402 rule (#73) 2023-05-23 19:14:11 +08:00
Wu Clan f65e9abcfd Add apis rate limiter (#72)
* Add apis rate limiter

* update the limiter storage prefix
2023-05-23 18:04:36 +08:00
dylan 06a0a33a3a Update tests structure. (#68)
* Update tests structure.
* Unit tests use the test database
* Add function for creating database engine and session.
2023-05-23 17:52:34 +08:00
Wu Clan 4954117a35 update the casbin to asynchronous (#69) 2023-05-23 14:05:42 +08:00
Wu Clan 7e16414c5b update token refresh expire time rule (#67)
* update token refresh expire time rule

* update token refresh time checks
2023-05-21 23:16:02 +08:00
Wu Clan dc1ee04211 add English and Chinese README jump links (#66) 2023-05-21 12:08:22 +08:00
Wu Clan d67b108a92 update token default exception return message (#65) 2023-05-20 23:19:16 +08:00
Wu Clan 847d7226f6 Update uniform return to custom encoder (#60)
* Add custom jsonable encoder

* Update uniform return to custom encoder

* Add some description of the return structure
2023-05-20 16:51:22 +08:00
Wu Clan e43f128086 add token refreshing mechanism (#62)
* add token refreshing mechanism

* update token_expires to token_expire_time

* Fix implicit type conversion exception catch
2023-05-19 21:28:48 +08:00
downdawn 6fbddbafed fix jwt parameter parsing error 2023-05-19 19:17:03 +08:00
dylan 4c12c53e94 add token storage and logout (#57)
* add token storage and logout

* fix jwt expire time bug
2023-05-19 16:42:43 +08:00
wu 65f6916c20 Update the uniform return method to success 2023-05-18 18:35:23 +08:00
Wu Clan 5bded3433f Bump fastapi from 0.95.0 to 0.95.2 (#53) 2023-05-18 17:05:16 +08:00
Wu Clan e1edcade21 Add RBAC authorisation and some tools or optimisations (#41)
* WIP: add rbac authorization

* Perform pre-commit fixes

* add rbac route whitelist

* add init test data user role associations

* Restore database table id naming to fix generic crud base

* Add database section value uniqueness settings

* Update the test directory to tests

* Update route_name file name to health_check

* Split user auth and user action interfaces

* Fix conflict between merge and current branch

* Add pymysql dependencies

* Fix RBAC authentication method

* Add the select serialisation tool

* Fix missing return messages due to global exception handler slicing

* Update the user interface with associated relationships

* Add items to be completed

* Perform pre-commit fixes

* Add pre-made routers

* Paging data return structure optimisation

* Split user auth and user interface tests

* Fix user register test data structure error

* Fix duplicate named test classes
2023-05-17 22:13:37 +08:00
dependabot[bot] cee2c5843e Bump starlette from 0.26.1 to 0.27.0
Bumps [starlette](https://github.com/encode/starlette) from 0.26.1 to 0.27.0.
- [Release notes](https://github.com/encode/starlette/releases)
- [Changelog](https://github.com/encode/starlette/blob/master/docs/release-notes.md)
- [Commits](https://github.com/encode/starlette/compare/0.26.1...0.27.0)

---
updated-dependencies:
- dependency-name: starlette
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 13:43:26 +08:00
Wu Clan dff62601d0 Fix the swagger form login structure abnormality (#46) 2023-05-16 15:13:45 +08:00
wu 4aace9f68a delete ci workflows for GitHub 2023-05-13 01:56:54 +08:00
wu 8edd88ff99 add ci workflows to GitHub 2023-05-13 01:35:30 +08:00
Wu Clan 24024d4bf0 fix that the data validation global exception handler does not work (#40)
* fix that the data validation global exception handler does not work

* update login api test

* update the JSON login method to create the user ID of the token
2023-05-13 01:29:15 +08:00
Wu Clan 768a13f014 add test code (#37)
* add test code

* add a pre test prompt

* exec pre-commit
2023-05-11 15:20:57 +08:00
Wu Clan a19d942bd7 add the get project config api (#33)
* add the get project config api

* delete the password values
2023-05-11 15:20:21 +08:00