Pull user_type from the request

This commit is contained in:
Will Hunt 2019-08-28 08:30:06 +01:00 committed by GitHub
parent 564cc0bf2c
commit d8c58504c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -74,7 +74,8 @@ async def read_client_auth_request(request: web.Request) -> Tuple[Optional[AuthR
except KeyError: except KeyError:
return None, resp.invalid_server return None, resp.invalid_server
api = HTTPAPI(base_url, "", loop=get_loop()) api = HTTPAPI(base_url, "", loop=get_loop())
return (api, secret, username, password), None user_type = body.get("user_type", None)
return (api, secret, username, password, user_type), None
@routes.post("/client/auth/{server}/register") @routes.post("/client/auth/{server}/register")
@ -82,7 +83,7 @@ async def register(request: web.Request) -> web.Response:
info, err = await read_client_auth_request(request) info, err = await read_client_auth_request(request)
if err is not None: if err is not None:
return err return err
api, secret, username, password = info api, secret, username, password, user_type = info
res = await api.request(Method.GET, Path.admin.register) res = await api.request(Method.GET, Path.admin.register)
nonce = res["nonce"] nonce = res["nonce"]
mac = generate_mac(secret, nonce, username, password) mac = generate_mac(secret, nonce, username, password)
@ -93,7 +94,8 @@ async def register(request: web.Request) -> web.Response:
"password": password, "password": password,
"admin": False, "admin": False,
"mac": mac, "mac": mac,
"user_type": "bot", # Older versions of synapse will ignore this field if it is None
"user_type": user_type,
})) }))
except MatrixRequestError as e: except MatrixRequestError as e:
return web.json_response({ return web.json_response({