Coverage for gws-app/gws/base/auth/provider.py: 71%

17 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-04-17 01:37 +0200

1from typing import Optional 

2 

3import gws 

4import gws.lib.jsonx 

5 

6from . import user as user_api 

7 

8 

9class Config(gws.Config): 

10 """Auth provider config.""" 

11 

12 allowedMethods: Optional[list[str]] 

13 """allowed authorization methods""" 

14 

15 

16class Object(gws.AuthProvider): 

17 def configure(self): 

18 self.allowedMethods = self.cfg('allowedMethods', default=[]) 

19 

20 def authenticate(self, method, credentials): 

21 return None 

22 

23 def serialize_user(self, user): 

24 return gws.lib.jsonx.to_string(user_api.to_dict(user)) 

25 

26 def unserialize_user(self, data): 

27 d = gws.lib.jsonx.from_string(data) 

28 return user_api.from_dict(self, d) if d else None