mirror of
				https://github.com/fastapi-users/fastapi-users.git
				synced 2025-10-31 09:28:45 +08:00 
			
		
		
		
	Revert "Cookie transport must return empty json and not null in response.data on login (#1037)"
				
					
				
			This reverts commit 77d0077503d9d6b4dd206e3fc643d96bc3c5834c.
This commit is contained in:
		| @ -30,7 +30,6 @@ class CookieTransport(Transport): | |||||||
|         self.scheme = APIKeyCookie(name=self.cookie_name, auto_error=False) |         self.scheme = APIKeyCookie(name=self.cookie_name, auto_error=False) | ||||||
|  |  | ||||||
|     async def get_login_response(self, token: str, response: Response) -> Any: |     async def get_login_response(self, token: str, response: Response) -> Any: | ||||||
|         response = Response(status_code=status.HTTP_204_NO_CONTENT) |  | ||||||
|         response.set_cookie( |         response.set_cookie( | ||||||
|             self.cookie_name, |             self.cookie_name, | ||||||
|             token, |             token, | ||||||
| @ -41,7 +40,10 @@ class CookieTransport(Transport): | |||||||
|             httponly=self.cookie_httponly, |             httponly=self.cookie_httponly, | ||||||
|             samesite=self.cookie_samesite, |             samesite=self.cookie_samesite, | ||||||
|         ) |         ) | ||||||
|         return response |  | ||||||
|  |         # We shouldn't return directly the response | ||||||
|  |         # so that FastAPI can terminate it properly | ||||||
|  |         return None | ||||||
|  |  | ||||||
|     async def get_logout_response(self, response: Response) -> Any: |     async def get_logout_response(self, response: Response) -> Any: | ||||||
|         response.set_cookie( |         response.set_cookie( | ||||||
| @ -57,7 +59,7 @@ class CookieTransport(Transport): | |||||||
|  |  | ||||||
|     @staticmethod |     @staticmethod | ||||||
|     def get_openapi_login_responses_success() -> OpenAPIResponseType: |     def get_openapi_login_responses_success() -> OpenAPIResponseType: | ||||||
|         return {status.HTTP_204_NO_CONTENT: {"model": None}} |         return {status.HTTP_200_OK: {"model": None}} | ||||||
|  |  | ||||||
|     @staticmethod |     @staticmethod | ||||||
|     def get_openapi_logout_responses_success() -> OpenAPIResponseType: |     def get_openapi_logout_responses_success() -> OpenAPIResponseType: | ||||||
|  | |||||||
| @ -38,10 +38,10 @@ async def test_get_login_response(cookie_transport: CookieTransport): | |||||||
|     secure = cookie_transport.cookie_secure |     secure = cookie_transport.cookie_secure | ||||||
|     httponly = cookie_transport.cookie_httponly |     httponly = cookie_transport.cookie_httponly | ||||||
|  |  | ||||||
|     response = await cookie_transport.get_login_response("TOKEN", Response()) |     response = Response() | ||||||
|  |     login_response = await cookie_transport.get_login_response("TOKEN", response) | ||||||
|  |  | ||||||
|     assert isinstance(response, Response) |     assert login_response is None | ||||||
|     assert response.status_code == status.HTTP_204_NO_CONTENT |  | ||||||
|  |  | ||||||
|     cookies = [header for header in response.raw_headers if header[0] == b"set-cookie"] |     cookies = [header for header in response.raw_headers if header[0] == b"set-cookie"] | ||||||
|     assert len(cookies) == 1 |     assert len(cookies) == 1 | ||||||
| @ -96,7 +96,7 @@ async def test_get_logout_response(cookie_transport: CookieTransport): | |||||||
| @pytest.mark.openapi | @pytest.mark.openapi | ||||||
| def test_get_openapi_login_responses_success(cookie_transport: CookieTransport): | def test_get_openapi_login_responses_success(cookie_transport: CookieTransport): | ||||||
|     assert cookie_transport.get_openapi_login_responses_success() == { |     assert cookie_transport.get_openapi_login_responses_success() == { | ||||||
|         status.HTTP_204_NO_CONTENT: {"model": None} |         status.HTTP_200_OK: {"model": None} | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 François Voron
					François Voron