forked from MirrorHub/synapse
Fix /refresh endpoint version (#14364)
This commit is contained in:
parent
e5d18956b9
commit
a4b1f64562
3 changed files with 10 additions and 9 deletions
1
changelog.d/14364.bugfix
Normal file
1
changelog.d/14364.bugfix
Normal file
|
@ -0,0 +1 @@
|
|||
Fix refresh token endpoint to be under /r0 and /v3 instead of /v1. Contributed by Tulir @ Beeper.
|
|
@ -536,7 +536,7 @@ def _get_auth_flow_dict_for_idp(idp: SsoIdentityProvider) -> JsonDict:
|
|||
|
||||
|
||||
class RefreshTokenServlet(RestServlet):
|
||||
PATTERNS = (re.compile("^/_matrix/client/v1/refresh$"),)
|
||||
PATTERNS = client_patterns("/refresh$")
|
||||
|
||||
def __init__(self, hs: "HomeServer"):
|
||||
self._auth_handler = hs.get_auth_handler()
|
||||
|
|
|
@ -635,7 +635,7 @@ class RefreshAuthTests(unittest.HomeserverTestCase):
|
|||
"""
|
||||
return self.make_request(
|
||||
"POST",
|
||||
"/_matrix/client/v1/refresh",
|
||||
"/_matrix/client/v3/refresh",
|
||||
{"refresh_token": refresh_token},
|
||||
)
|
||||
|
||||
|
@ -724,7 +724,7 @@ class RefreshAuthTests(unittest.HomeserverTestCase):
|
|||
|
||||
refresh_response = self.make_request(
|
||||
"POST",
|
||||
"/_matrix/client/v1/refresh",
|
||||
"/_matrix/client/v3/refresh",
|
||||
{"refresh_token": login_response.json_body["refresh_token"]},
|
||||
)
|
||||
self.assertEqual(refresh_response.code, HTTPStatus.OK, refresh_response.result)
|
||||
|
@ -765,7 +765,7 @@ class RefreshAuthTests(unittest.HomeserverTestCase):
|
|||
|
||||
refresh_response = self.make_request(
|
||||
"POST",
|
||||
"/_matrix/client/v1/refresh",
|
||||
"/_matrix/client/v3/refresh",
|
||||
{"refresh_token": login_response.json_body["refresh_token"]},
|
||||
)
|
||||
self.assertEqual(refresh_response.code, HTTPStatus.OK, refresh_response.result)
|
||||
|
@ -1002,7 +1002,7 @@ class RefreshAuthTests(unittest.HomeserverTestCase):
|
|||
# This first refresh should work properly
|
||||
first_refresh_response = self.make_request(
|
||||
"POST",
|
||||
"/_matrix/client/v1/refresh",
|
||||
"/_matrix/client/v3/refresh",
|
||||
{"refresh_token": login_response.json_body["refresh_token"]},
|
||||
)
|
||||
self.assertEqual(
|
||||
|
@ -1012,7 +1012,7 @@ class RefreshAuthTests(unittest.HomeserverTestCase):
|
|||
# This one as well, since the token in the first one was never used
|
||||
second_refresh_response = self.make_request(
|
||||
"POST",
|
||||
"/_matrix/client/v1/refresh",
|
||||
"/_matrix/client/v3/refresh",
|
||||
{"refresh_token": login_response.json_body["refresh_token"]},
|
||||
)
|
||||
self.assertEqual(
|
||||
|
@ -1022,7 +1022,7 @@ class RefreshAuthTests(unittest.HomeserverTestCase):
|
|||
# This one should not, since the token from the first refresh is not valid anymore
|
||||
third_refresh_response = self.make_request(
|
||||
"POST",
|
||||
"/_matrix/client/v1/refresh",
|
||||
"/_matrix/client/v3/refresh",
|
||||
{"refresh_token": first_refresh_response.json_body["refresh_token"]},
|
||||
)
|
||||
self.assertEqual(
|
||||
|
@ -1056,7 +1056,7 @@ class RefreshAuthTests(unittest.HomeserverTestCase):
|
|||
# Now that the access token from the last valid refresh was used once, refreshing with the N-1 token should fail
|
||||
fourth_refresh_response = self.make_request(
|
||||
"POST",
|
||||
"/_matrix/client/v1/refresh",
|
||||
"/_matrix/client/v3/refresh",
|
||||
{"refresh_token": login_response.json_body["refresh_token"]},
|
||||
)
|
||||
self.assertEqual(
|
||||
|
@ -1068,7 +1068,7 @@ class RefreshAuthTests(unittest.HomeserverTestCase):
|
|||
# But refreshing from the last valid refresh token still works
|
||||
fifth_refresh_response = self.make_request(
|
||||
"POST",
|
||||
"/_matrix/client/v1/refresh",
|
||||
"/_matrix/client/v3/refresh",
|
||||
{"refresh_token": second_refresh_response.json_body["refresh_token"]},
|
||||
)
|
||||
self.assertEqual(
|
||||
|
|
Loading…
Reference in a new issue