Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit 3d7e16d

Browse files
committed
Handle feedback given in #6634.
1 parent fd0ce13 commit 3d7e16d

1 file changed

Lines changed: 6 additions & 6 deletions

File tree

synapse/handlers/cas_handler.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
import logging
1717
import xml.etree.ElementTree as ET
18-
from typing import Awaitable, Dict, Optional, Tuple
18+
from typing import AnyStr, Awaitable, Dict, Optional, Tuple
1919

2020
from six.moves import urllib
2121

@@ -49,11 +49,11 @@ def __init__(self, hs):
4949

5050
self._http_client = hs.get_proxied_http_client()
5151

52-
def _build_service_param(self, client_redirect_url: str) -> str:
53-
return "%s%s?redirectUrl=%s" % (
52+
def _build_service_param(self, client_redirect_url: AnyStr) -> str:
53+
return "%s%s?%s" % (
5454
self._cas_service_url,
5555
"/_matrix/client/r0/login/cas/ticket",
56-
urllib.parse.quote(client_redirect_url, safe=""),
56+
urllib.parse.urlencode({"redirectUrl": client_redirect_url}),
5757
)
5858

5959
def _handle_cas_response(
@@ -150,12 +150,12 @@ async def _on_successful_auth(
150150
registered_user_id, request, client_redirect_url
151151
)
152152

153-
def handle_redirect_request(self, client_redirect_url: str) -> str:
153+
def handle_redirect_request(self, client_redirect_url: bytes) -> bytes:
154154
args = urllib.parse.urlencode(
155155
{"service": self._build_service_param(client_redirect_url)}
156156
)
157157

158-
return "%s/login?%s" % (self._cas_server_url, args)
158+
return ("%s/login?%s" % (self._cas_server_url, args)).encode("ascii")
159159

160160
async def handle_ticket_request(self, request: SynapseRequest):
161161
client_redirect_url = parse_string(request, "redirectUrl", required=True)

0 commit comments

Comments
 (0)