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.

@@ -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
- test_option = WatcherOptions()
90
- test_option.pub_client = redis_client
91
- test_option.sub_client = redis_client
92
- test_option.channel = redis_config.channel
93
- test_option.optional_update_callback = lambda _: self.enforcer.load_policy()
94
-
95
- # Create watcher
96
- watcher = new_watcher(test_option)
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.2.5
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.12,<4.0
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.1.4,<0.2.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=zzHvbROqUpgKSLghJ7bDnxDHWkF1tyMG9XObxu0KwoY,37837
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.2.5.dist-info/METADATA,sha256=L5Uc-Fvy2tCVlZDHa017wjFKX8fA0K_XK84k2fe6m0E,23498
26
- abs_auth_rbac_core-0.2.5.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
27
- abs_auth_rbac_core-0.2.5.dist-info/RECORD,,
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,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.2
2
+ Generator: poetry-core 2.1.3
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any