Organisator kann im selben Browser selbst mitspielen
Ein Aufrufer darf Organisator- und Spieler-Zugang kombinieren (Authorization + X-Player-Token). Berechtigungen prüfen jetzt einzelne Merkmale statt einer Rangstufe. In der Lobby gibt es „Selbst mitspielen?“, Teamlinks funktionieren auch im Organisator-Browser. Online-Status wird direkt nach dem Beitritt aktualisiert. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
470b12f232
commit
4152f9c0a6
15 files changed
+248
-59
No files matched your search
+6
-1
@@ -8,6 +8,11 @@ function bearer(req) {
|
||||
return header.startsWith('Bearer ') ? header.slice(7).trim() : null;
|
||||
}
|
||||
|
||||
/** Bis zu zwei Zugänge: Authorization (Organisator, Spieler oder Zuschauer) und X-Player-Token. */
|
||||
function accessTokens(req) {
|
||||
return [bearer(req), req.get('x-player-token')?.trim() || null];
|
||||
}
|
||||
|
||||
export function createApiRouter({ service, manager, config, pools, adapter }) {
|
||||
const router = express.Router();
|
||||
router.use(express.json({ limit: '32kb' }));
|
||||
@@ -35,7 +40,7 @@ export function createApiRouter({ service, manager, config, pools, adapter }) {
|
||||
|
||||
// Ermittelt die Rolle des Aufrufers für das Match in der URL.
|
||||
const viewerFor = (req) => {
|
||||
const viewer = service.resolveViewer(req.params.id, bearer(req));
|
||||
const viewer = service.resolveViewer(req.params.id, accessTokens(req));
|
||||
service.touch(req.params.id);
|
||||
return viewer;
|
||||
};
|
||||
|
||||
Reference in new issue
Block a user