@@ -103,6 +103,7 @@ class NinjaJWTSlidingController(
103103
104104
105105if not django .VERSION < (3 , 1 ):
106+ from asgiref .sync import sync_to_async
106107
107108 class AsyncTokenVerificationController (TokenVerificationController ):
108109 @http_post ("/verify" , response = {200 : Schema }, url_name = "token_verify" )
@@ -127,7 +128,9 @@ async def obtain_token(self, user_token: schema.TokenObtainPairSerializer):
127128 "/refresh" , response = schema .TokenRefreshSerializer , url_name = "token_refresh"
128129 )
129130 async def refresh_token (self , refresh_token : schema .TokenRefreshSchema ):
130- refresh = schema .TokenRefreshSerializer (** refresh_token .dict ())
131+ refresh = await sync_to_async (schema .TokenRefreshSerializer )(
132+ ** refresh_token .dict ()
133+ )
131134 return refresh
132135
133136 class AsyncTokenObtainSlidingController (TokenObtainSlidingController ):
@@ -145,7 +148,9 @@ async def obtain_token(self, user_token: schema.TokenObtainSlidingSerializer):
145148 url_name = "token_refresh_sliding" ,
146149 )
147150 async def refresh_token (self , refresh_token : schema .TokenRefreshSlidingSchema ):
148- refresh = schema .TokenRefreshSlidingSerializer (** refresh_token .dict ())
151+ refresh = await sync_to_async (schema .TokenRefreshSlidingSerializer )(
152+ ** refresh_token .dict ()
153+ )
149154 return refresh
150155
151156 @api_controller ("/token" , permissions = [AllowAny ], tags = ["token" ])
0 commit comments