Merge pull request #1614 from ValdoTR/user-room-token

Added the user-room token created from admin when we access a room
This commit is contained in:
David Négrier 2021-12-13 17:50:49 +01:00 committed by GitHub
commit 8a96ff8ee4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 71 additions and 2 deletions

View file

@ -287,6 +287,7 @@ export class AuthenticateController extends BaseController {
messages: [],
visitCardUrl: null,
textures: [],
userRoomToken: undefined,
};
try {
data = await adminApi.fetchMemberDataByUuid(email, playUri, IPAddress);

View file

@ -238,6 +238,7 @@ export class IoSocketController {
let memberTags: string[] = [];
let memberVisitCardUrl: string | null = null;
let memberMessages: unknown;
let memberUserRoomToken: string | undefined;
let memberTextures: CharacterTexture[] = [];
const room = await socketManager.getOrCreateRoom(roomId);
let userData: FetchMemberDataByUuidResponse = {
@ -248,6 +249,7 @@ export class IoSocketController {
textures: [],
messages: [],
anonymous: true,
userRoomToken: undefined,
};
if (ADMIN_API_URL) {
try {
@ -286,6 +288,8 @@ export class IoSocketController {
memberTags = userData.tags;
memberVisitCardUrl = userData.visitCardUrl;
memberTextures = userData.textures;
memberUserRoomToken = userData.userRoomToken;
if (
room.policyType === GameRoomPolicyTypes.USE_TAGS_POLICY &&
(userData.anonymous === true || !room.canAccess(memberTags))
@ -335,6 +339,7 @@ export class IoSocketController {
messages: memberMessages,
tags: memberTags,
visitCardUrl: memberVisitCardUrl,
userRoomToken: memberUserRoomToken,
textures: memberTextures,
position: {
x: x,

View file

@ -44,4 +44,5 @@ export interface ExSocketInterface extends WebSocket, Identificable {
textures: CharacterTexture[];
backConnection: BackConnection;
listenedZones: Set<Zone>;
userRoomToken: string | undefined;
}

View file

@ -29,6 +29,7 @@ export interface FetchMemberDataByUuidResponse {
textures: CharacterTexture[];
messages: unknown[];
anonymous?: boolean;
userRoomToken: string | undefined;
}
class AdminApi {

View file

@ -157,6 +157,11 @@ export class SocketManager implements ZoneEventListener {
joinRoomMessage.setName(client.name);
joinRoomMessage.setPositionmessage(ProtobufUtils.toPositionMessage(client.position));
joinRoomMessage.setTagList(client.tags);
if (client.userRoomToken) {
joinRoomMessage.setUserroomtoken(client.userRoomToken);
}
if (client.visitCardUrl) {
joinRoomMessage.setVisitcardurl(client.visitCardUrl);
}