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.

  1. Der Aufruf des Microservice erfolgt über einen POST-Request, bei dem lediglich die Mitgliedsnummer übertragen wird
  2. Mögliche Antworten
    1. HTTP Status 404 Not Found, wenn zu der Mitgliedsnummer keine Matrix-ID gefunden wurde
    2. HTTP Status 200 OK und in der Antwort die Matrix-ID zur Mitgliedsnummer
    3. HTTP Status 400 Bad Request, wenn in der Anfrage etwas anderes als die 7-Stellige Mitgliedsnummer gesendet wird.
    4. HTTP Status 403 Forbidden, wenn die Anfrage den Sicherheitscheck (s.u.) nicht besteht.
  3. Eine Anfrage ist nur dann gültig, wenn sie
    1. von treff.darc.de oder dev.treff.darc.de kommt.
      1. 2a03:4000:24:8e4::1 oder 185.233.107.31

      2. 2a03:4000:50:b81::1 oder 94.16.104.91

    2. vom Typ HTTPS POST ist
    3. Den noch abzustimmenden Authentication Header für treff bzw dev.treff besitzt
    4. Der Authentication Header zur IP-Adresse passt

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.



  • No labels