Skip to content

Commit 72fe36a

Browse files
committed
Define user's permanent attributes in __slots__
1 parent c794260 commit 72fe36a

File tree

1 file changed

+2
-16
lines changed

1 file changed

+2
-16
lines changed

src/fastapi_oauth2/middleware.py

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -56,26 +56,12 @@ def jwt_create(cls, token_data: dict) -> str:
5656
class User(BaseUser, dict):
5757
"""Extended user schema based on Starlette BaseUser."""
5858

59+
__slots__ = ("display_name", "identity", "picture", "email")
60+
5961
@property
6062
def is_authenticated(self) -> bool:
6163
return bool(self)
6264

63-
@property
64-
def display_name(self) -> str:
65-
return self.__getprop__("display_name")
66-
67-
@property
68-
def identity(self) -> str:
69-
return self.__getprop__("identity")
70-
71-
@property
72-
def picture(self) -> str:
73-
return self.__getprop__("picture")
74-
75-
@property
76-
def email(self) -> str:
77-
return self.__getprop__("email")
78-
7965
def use_claims(self, claims: Claims) -> "User":
8066
for attr, item in claims.items():
8167
self[attr] = self.__getprop__(item)

0 commit comments

Comments
 (0)