Die Einbindung der Matrix-Avatare erfolgt über die Funktion GetProfilePic in der Klasse BBBHelper.
Diese Funktion ruft einen Microservice auf matrix.darc.de auf, um die zufällig generierte Matrix-ID zu einem Mitglied zu ermitteln.
- Der Aufruf des Microservice erfolgt über einen POST-Request, bei dem lediglich die Mitgliedsnummer übertragen wird
- Mögliche Antworten
- HTTP Status 404 Not Found, wenn zu der Mitgliedsnummer keine Matrix-ID gefunden wurde
- HTTP Status 200 OK und in der Antwort die Matrix-ID zur Mitgliedsnummer
- HTTP Status 400 Bad Request, wenn in der Anfrage etwas anderes als die 7-Stellige Mitgliedsnummer gesendet wird.
- HTTP Status 403 Forbidden, wenn die Anfrage den Sicherheitscheck (s.u.) nicht besteht.
- Eine Anfrage ist nur dann gültig, wenn sie
- von treff.darc.de oder dev.treff.darc.de kommt.
2a03:4000:24:8e4::1 oder 185.233.107.31
2a03:4000:50:b81::1 oder 94.16.104.91
- vom Typ HTTPS POST ist
- Den noch abzustimmenden Authentication Header für treff bzw dev.treff besitzt
- Der Authentication Header zur IP-Adresse passt
- von treff.darc.de oder dev.treff.darc.de kommt.
Sofern eine Matrix-ID ermittelt werden konnte, wird anschließend der REST-Endpoint
https://matrix.darc.de/_matrix/client/v3/profile/@{$MatrixId}:darc.de/avatar_url
aufgerufen, um die Avatar-URL für diese Matrix-ID zu ermitteln.
Anschließend wir die zu einer absoluten URL für das Thumbnail-Bild umgewandelte Avatar-Url zurückgegeben und als Parameter AvatarURL beim BBB Join-Request eingefügt.