abs-auth-rbac-core 0.2.5__py3-none-any.whl → 0.3.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of abs-auth-rbac-core might be problematic. Click here for more details.
- abs_auth_rbac_core/rbac/service.py +26 -14
- {abs_auth_rbac_core-0.2.5.dist-info → abs_auth_rbac_core-0.3.1.dist-info}/METADATA +5 -3
- {abs_auth_rbac_core-0.2.5.dist-info → abs_auth_rbac_core-0.3.1.dist-info}/RECORD +4 -4
- {abs_auth_rbac_core-0.2.5.dist-info → abs_auth_rbac_core-0.3.1.dist-info}/WHEEL +1 -1
|
@@ -46,6 +46,7 @@ class RBACService:
|
|
|
46
46
|
self._initialize_casbin(redis_config)
|
|
47
47
|
self.watcher = None
|
|
48
48
|
|
|
49
|
+
|
|
49
50
|
def _initialize_casbin(self,redis_config:Optional[RedisWatcherSchema]=None):
|
|
50
51
|
"""
|
|
51
52
|
Initiates the casbin policy using the default rules
|
|
@@ -69,31 +70,42 @@ class RBACService:
|
|
|
69
70
|
|
|
70
71
|
if redis_config:
|
|
71
72
|
try:
|
|
72
|
-
# Create Redis client with proper configuration
|
|
73
73
|
redis_client = Redis(
|
|
74
74
|
host=redis_config.host,
|
|
75
75
|
port=redis_config.port,
|
|
76
76
|
password=redis_config.password if hasattr(redis_config, 'password') else None,
|
|
77
|
-
ssl=redis_config.ssl,
|
|
77
|
+
ssl=redis_config.ssl, # This is crucial for azure redis
|
|
78
|
+
ssl_cert_reqs=None, # This is crucial for azure redis (Should be none for azure redis)
|
|
79
|
+
ssl_check_hostname=False,
|
|
80
|
+
socket_connect_timeout=10, # Only socket_connect_timeout is required for azure redis watcher
|
|
78
81
|
decode_responses=True,
|
|
79
|
-
socket_connect_timeout=5,
|
|
80
|
-
socket_timeout=5,
|
|
81
82
|
retry_on_timeout=True,
|
|
82
|
-
health_check_interval=30
|
|
83
|
-
|
|
83
|
+
health_check_interval=30 # Required for open connection
|
|
84
|
+
)
|
|
85
|
+
|
|
84
86
|
|
|
85
87
|
# Test Redis connection
|
|
86
88
|
redis_client.ping()
|
|
87
89
|
|
|
88
90
|
# Create Watcher and Options
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
91
|
+
option = WatcherOptions()
|
|
92
|
+
option.host = redis_config.host
|
|
93
|
+
option.port = redis_config.port
|
|
94
|
+
option.password = redis_config.password
|
|
95
|
+
option.ssl = redis_config.ssl
|
|
96
|
+
option.channel = redis_config.channel
|
|
97
|
+
option.optional_update_callback = lambda _: self.enforcer.load_policy()
|
|
98
|
+
|
|
99
|
+
option.init_config()
|
|
100
|
+
|
|
101
|
+
watcher = RedisWatcher()
|
|
102
|
+
|
|
103
|
+
watcher.sub_client = redis_client.pubsub()
|
|
104
|
+
watcher.pub_client = redis_client
|
|
105
|
+
watcher.init_config(option)
|
|
106
|
+
watcher.close = False
|
|
107
|
+
watcher.subscribe_thread.start()
|
|
108
|
+
watcher.subscribe_event.wait(timeout=10)
|
|
97
109
|
|
|
98
110
|
self.enforcer.set_watcher(watcher)
|
|
99
111
|
self.watcher = watcher
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: abs-auth-rbac-core
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: RBAC and Auth core utilities including JWT token management.
|
|
5
5
|
License: MIT
|
|
6
6
|
Author: AutoBridgeSystems
|
|
7
7
|
Author-email: info@autobridgesystems.com
|
|
8
|
-
Requires-Python: >=3.
|
|
8
|
+
Requires-Python: >=3.11,<4.0
|
|
9
9
|
Classifier: License :: OSI Approved :: MIT License
|
|
10
10
|
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
11
12
|
Classifier: Programming Language :: Python :: 3.12
|
|
12
13
|
Classifier: Programming Language :: Python :: 3.13
|
|
13
|
-
Requires-Dist: abs-exception-core (>=0.
|
|
14
|
+
Requires-Dist: abs-exception-core (>=0.2.0,<0.3.0)
|
|
15
|
+
Requires-Dist: abs-utils (>=0.4.0,<0.5.0)
|
|
14
16
|
Requires-Dist: casbin (>=1.41.0,<2.0.0)
|
|
15
17
|
Requires-Dist: casbin-redis-watcher (>=1.3.0,<2.0.0)
|
|
16
18
|
Requires-Dist: casbin-sqlalchemy-adapter (>=1.4.0,<2.0.0)
|
|
@@ -17,11 +17,11 @@ abs_auth_rbac_core/models/user_role.py,sha256=20pqmtJPzlUrI9ulHGouk8XlFgrGG7I6ik
|
|
|
17
17
|
abs_auth_rbac_core/rbac/__init__.py,sha256=oYjtpmfrkEbwWCBAWuRoU1fM4fCpBxkF_lwQrelK1As,79
|
|
18
18
|
abs_auth_rbac_core/rbac/decorator.py,sha256=pEFAW0Nn2iE4KBctPhNOmO_VLeJFDX2V9v2LsCu6kHY,1824
|
|
19
19
|
abs_auth_rbac_core/rbac/policy.conf,sha256=wghhhKxgZH0rPhh1QFrIpq9nevJT3s7OxxvXiU3zzuI,305
|
|
20
|
-
abs_auth_rbac_core/rbac/service.py,sha256=
|
|
20
|
+
abs_auth_rbac_core/rbac/service.py,sha256=A0Mg6HFUKzRo2pksOJGu-t_QztaB20ZECc5FfIQ8IDU,38447
|
|
21
21
|
abs_auth_rbac_core/schema/__init__.py,sha256=v9xibJ8Wr9k0u6PEYNK0LCGUJD71SB5vxu9BZG0S7tM,46
|
|
22
22
|
abs_auth_rbac_core/schema/permission.py,sha256=XvxPU68FY0PFgkF4GR2bSrzNvFB8c8OgY_d0JOJvMc8,203
|
|
23
23
|
abs_auth_rbac_core/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
24
|
abs_auth_rbac_core/util/permission_constants.py,sha256=EHM4ZkQmMWR-AyoSEf-pJL-EC_eZ4Q_JEp9w62GknHY,102747
|
|
25
|
-
abs_auth_rbac_core-0.
|
|
26
|
-
abs_auth_rbac_core-0.
|
|
27
|
-
abs_auth_rbac_core-0.
|
|
25
|
+
abs_auth_rbac_core-0.3.1.dist-info/METADATA,sha256=Uz-LXIZIxPY-Zle40C0EN2YoMAs24X0q1fkF2XohW38,23591
|
|
26
|
+
abs_auth_rbac_core-0.3.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
27
|
+
abs_auth_rbac_core-0.3.1.dist-info/RECORD,,
|