Skip to content

Commit b783ed1

Browse files
committed
[DOP-23165] Change /auth/callback response to 204
1 parent 6e84e0d commit b783ed1

5 files changed

Lines changed: 10 additions & 8 deletions

File tree

data_rentgen/server/api/v1/router/auth.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,7 @@ async def auth_callback(
6262
)
6363
request.session["access_token"] = code_grant["access_token"]
6464
request.session["refresh_token"] = code_grant["refresh_token"]
65-
66-
return {}
65+
return Response(status_code=204)
6766

6867

6968
@router.get("/logout")

data_rentgen/server/providers/auth/base_provider.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,5 +109,5 @@ async def logout(
109109
self,
110110
user: User,
111111
refresh_token: str,
112-
) -> Any | None:
112+
) -> None:
113113
"""This method should implement user logout logic"""

data_rentgen/server/providers/auth/dummy_provider.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ async def get_token_authorization_code_grant(
7979
msg = "Authorization code grant is not supported by DummyAuthProvider."
8080
raise NotImplementedError(msg)
8181

82-
async def logout(self, user: User, refresh_token: str):
82+
async def logout(self, user: User, refresh_token: str | None) -> None:
8383
msg = "Logout method is not implemented for DummyAuthProvider."
8484
raise NotImplementedError(msg)
8585

data_rentgen/server/providers/auth/keycloak_provider.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,13 @@ async def redirect_to_auth(self) -> NoReturn:
128128
details=auth_url,
129129
)
130130

131-
async def logout(self, user: User, refresh_token: str) -> bytes | None:
131+
async def logout(self, user: User, refresh_token: str | None) -> None:
132+
if not refresh_token:
133+
logger.debug("No refresh token found in session.")
134+
return
135+
132136
try:
133-
return await self.keycloak_openid.a_logout(refresh_token)
137+
await self.keycloak_openid.a_logout(refresh_token)
134138
except KeycloakOperationError as err:
135139
msg = f"Can't logout user: {user.name}"
136140
logger.debug("%s. Error: %s", msg, err)

tests/test_server/test_auth/test_keycloak_auth.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,8 +147,7 @@ async def test_keycloak_auth_callback(
147147
)
148148

149149
assert response.cookies.get("session"), caplog.text # cookie is set
150-
assert response.status_code == 200, response.json()
151-
assert response.json() == {}
150+
assert response.status_code == 204, response.json()
152151

153152

154153
@pytest.mark.parametrize(

0 commit comments

Comments
 (0)