Fix /refresh endpoint version (#14364)
This commit is contained in:
parent
e5d18956b9
commit
a4b1f64562
|
@ -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):
|
class RefreshTokenServlet(RestServlet):
|
||||||
PATTERNS = (re.compile("^/_matrix/client/v1/refresh$"),)
|
PATTERNS = client_patterns("/refresh$")
|
||||||
|
|
||||||
def __init__(self, hs: "HomeServer"):
|
def __init__(self, hs: "HomeServer"):
|
||||||
self._auth_handler = hs.get_auth_handler()
|
self._auth_handler = hs.get_auth_handler()
|
||||||
|
|
|
@ -635,7 +635,7 @@ class RefreshAuthTests(unittest.HomeserverTestCase):
|
||||||
"""
|
"""
|
||||||
return self.make_request(
|
return self.make_request(
|
||||||
"POST",
|
"POST",
|
||||||
"/_matrix/client/v1/refresh",
|
"/_matrix/client/v3/refresh",
|
||||||
{"refresh_token": refresh_token},
|
{"refresh_token": refresh_token},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -724,7 +724,7 @@ class RefreshAuthTests(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
refresh_response = self.make_request(
|
refresh_response = self.make_request(
|
||||||
"POST",
|
"POST",
|
||||||
"/_matrix/client/v1/refresh",
|
"/_matrix/client/v3/refresh",
|
||||||
{"refresh_token": login_response.json_body["refresh_token"]},
|
{"refresh_token": login_response.json_body["refresh_token"]},
|
||||||
)
|
)
|
||||||
self.assertEqual(refresh_response.code, HTTPStatus.OK, refresh_response.result)
|
self.assertEqual(refresh_response.code, HTTPStatus.OK, refresh_response.result)
|
||||||
|
@ -765,7 +765,7 @@ class RefreshAuthTests(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
refresh_response = self.make_request(
|
refresh_response = self.make_request(
|
||||||
"POST",
|
"POST",
|
||||||
"/_matrix/client/v1/refresh",
|
"/_matrix/client/v3/refresh",
|
||||||
{"refresh_token": login_response.json_body["refresh_token"]},
|
{"refresh_token": login_response.json_body["refresh_token"]},
|
||||||
)
|
)
|
||||||
self.assertEqual(refresh_response.code, HTTPStatus.OK, refresh_response.result)
|
self.assertEqual(refresh_response.code, HTTPStatus.OK, refresh_response.result)
|
||||||
|
@ -1002,7 +1002,7 @@ class RefreshAuthTests(unittest.HomeserverTestCase):
|
||||||
# This first refresh should work properly
|
# This first refresh should work properly
|
||||||
first_refresh_response = self.make_request(
|
first_refresh_response = self.make_request(
|
||||||
"POST",
|
"POST",
|
||||||
"/_matrix/client/v1/refresh",
|
"/_matrix/client/v3/refresh",
|
||||||
{"refresh_token": login_response.json_body["refresh_token"]},
|
{"refresh_token": login_response.json_body["refresh_token"]},
|
||||||
)
|
)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
|
@ -1012,7 +1012,7 @@ class RefreshAuthTests(unittest.HomeserverTestCase):
|
||||||
# This one as well, since the token in the first one was never used
|
# This one as well, since the token in the first one was never used
|
||||||
second_refresh_response = self.make_request(
|
second_refresh_response = self.make_request(
|
||||||
"POST",
|
"POST",
|
||||||
"/_matrix/client/v1/refresh",
|
"/_matrix/client/v3/refresh",
|
||||||
{"refresh_token": login_response.json_body["refresh_token"]},
|
{"refresh_token": login_response.json_body["refresh_token"]},
|
||||||
)
|
)
|
||||||
self.assertEqual(
|
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
|
# This one should not, since the token from the first refresh is not valid anymore
|
||||||
third_refresh_response = self.make_request(
|
third_refresh_response = self.make_request(
|
||||||
"POST",
|
"POST",
|
||||||
"/_matrix/client/v1/refresh",
|
"/_matrix/client/v3/refresh",
|
||||||
{"refresh_token": first_refresh_response.json_body["refresh_token"]},
|
{"refresh_token": first_refresh_response.json_body["refresh_token"]},
|
||||||
)
|
)
|
||||||
self.assertEqual(
|
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
|
# 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(
|
fourth_refresh_response = self.make_request(
|
||||||
"POST",
|
"POST",
|
||||||
"/_matrix/client/v1/refresh",
|
"/_matrix/client/v3/refresh",
|
||||||
{"refresh_token": login_response.json_body["refresh_token"]},
|
{"refresh_token": login_response.json_body["refresh_token"]},
|
||||||
)
|
)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
|
@ -1068,7 +1068,7 @@ class RefreshAuthTests(unittest.HomeserverTestCase):
|
||||||
# But refreshing from the last valid refresh token still works
|
# But refreshing from the last valid refresh token still works
|
||||||
fifth_refresh_response = self.make_request(
|
fifth_refresh_response = self.make_request(
|
||||||
"POST",
|
"POST",
|
||||||
"/_matrix/client/v1/refresh",
|
"/_matrix/client/v3/refresh",
|
||||||
{"refresh_token": second_refresh_response.json_body["refresh_token"]},
|
{"refresh_token": second_refresh_response.json_body["refresh_token"]},
|
||||||
)
|
)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
|
|
Loading…
Reference in New Issue