comms: set guest displayname at registration
This commit is contained in:
parent
c950c32e93
commit
695e1ec322
@ -6,7 +6,7 @@ metadata:
|
||||
namespace: comms
|
||||
spec:
|
||||
schedule: "*/1 * * * *"
|
||||
suspend: false
|
||||
suspend: true
|
||||
jobTemplate:
|
||||
spec:
|
||||
backoffLimit: 0
|
||||
|
||||
@ -6,11 +6,13 @@ metadata:
|
||||
data:
|
||||
guest_register.py: |
|
||||
import secrets
|
||||
import random
|
||||
|
||||
import synapse.api.auth
|
||||
from synapse.api.errors import Codes, SynapseError
|
||||
from synapse.http.server import DirectServeJsonResource
|
||||
from synapse.http.servlet import parse_json_object_from_request
|
||||
from synapse.types import UserID, create_requester
|
||||
|
||||
|
||||
class GuestRegisterResource(DirectServeJsonResource):
|
||||
@ -20,6 +22,9 @@ data:
|
||||
self._shared_secret = shared_secret
|
||||
self._header_name = header_name
|
||||
|
||||
self._adj = ["brisk", "calm", "eager", "gentle", "merry", "nifty", "rapid", "sunny", "witty", "zesty"]
|
||||
self._noun = ["otter", "falcon", "comet", "ember", "grove", "harbor", "meadow", "raven", "river", "summit"]
|
||||
|
||||
async def _async_render_POST(self, request): # noqa: N802
|
||||
provided = request.requestHeaders.getRawHeaders(self._header_name)
|
||||
if not provided or not secrets.compare_digest(provided[0], self._shared_secret):
|
||||
@ -43,6 +48,21 @@ data:
|
||||
is_guest=True,
|
||||
)
|
||||
|
||||
displayname = body.get("displayname")
|
||||
if not isinstance(displayname, str) or not displayname.strip():
|
||||
displayname = f"{random.choice(self._adj)}-{random.choice(self._noun)}"
|
||||
|
||||
try:
|
||||
requester = create_requester(user_id, is_guest=True, device_id=device_id)
|
||||
await self._hs.get_profile_handler().set_displayname(
|
||||
UserID.from_string(user_id),
|
||||
requester,
|
||||
displayname,
|
||||
propagate=False,
|
||||
)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
result = {
|
||||
"user_id": user_id,
|
||||
"device_id": device_id,
|
||||
|
||||
@ -684,7 +684,7 @@ spec:
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
checksum/config: manual-rtc-enable-7
|
||||
checksum/config: manual-rtc-enable-8
|
||||
checksum/secrets: ec9f3b254a562a0f0709461eb74a8cc91b8c1a2fb06be2594a131776c2541773
|
||||
labels:
|
||||
app.kubernetes.io/name: matrix-synapse
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user