mirror of
https://github.com/fastapi-users/fastapi-users.git
synced 2025-10-30 17:06:06 +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