Add oidc logout tests and fix bug in server side logout

This commit is contained in:
nuwang
2023-11-06 19:16:12 +05:30
parent 6182222f0b
commit d1aa6d1893
2 changed files with 13 additions and 0 deletions
@@ -188,6 +188,7 @@ class OIDC(JSAppLauncher):
success, message, redirect_uri = trans.app.authnz_manager.logout(
provider, trans, post_user_logout_href=post_user_logout_href
)
trans.handle_user_logout()
if success:
return {"redirect_uri": redirect_uri}
else:
+12
View File
@@ -177,3 +177,15 @@ class TestGalaxyOIDCLoginIntegration(AbstractTestCases.BaseKeycloakIntegrationTe
self._assert_status_code_is(response, 200)
assert response.json()["email"] == "gxyuser@galaxy.org"
def test_oidc_logout(self):
# login
session, response = self._login_via_keycloak(KEYCLOAK_TEST_USERNAME, KEYCLOAK_TEST_PASSWORD)
# get the user
response = session.get(self._api_url("users/current"))
self._assert_status_code_is(response, 200)
# now logout
response = session.get(self._api_url("../authnz/logout"))
response = session.get(response.json()["redirect_uri"], verify=False)
# make sure we can no longer request the user
response = session.get(self._api_url("users/current"))
self._assert_status_code_is(response, 400)