Skip to content

Commit 3030322

Browse files
committed
Update ParseLiveQueryServer.js
1 parent 6e16400 commit 3030322

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

src/LiveQuery/ParseLiveQueryServer.js

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -578,15 +578,17 @@ class ParseLiveQueryServer {
578578
return false;
579579
});
580580
}
581-
async getAuthFromClient(client: any, res: any, requestId: number) {
581+
async getAuthFromClient(client: any, res: any, requestId: number, sessionToken: string) {
582582
const getSessionFromClient = () => {
583583
const subscriptionInfo = client.getSubscriptionInfo(requestId);
584584
if (typeof subscriptionInfo === 'undefined') {
585585
return client.sessionToken;
586586
}
587587
return subscriptionInfo.sessionToken || client.sessionToken;
588588
};
589-
const sessionToken = getSessionFromClient();
589+
if (!sessionToken) {
590+
sessionToken = getSessionFromClient();
591+
}
590592
const { auth } = await this.getAuthForSessionToken(sessionToken);
591593
if (auth && auth.user) {
592594
res.user = auth.user;
@@ -645,10 +647,7 @@ class ParseLiveQueryServer {
645647
};
646648
const trigger = getTrigger('@Connect', 'beforeConnect', Parse.applicationId);
647649
if (trigger) {
648-
const { auth } = await this.getAuthForSessionToken(req.sessionToken);
649-
if (auth && auth.user) {
650-
req.user = auth.user;
651-
}
650+
const auth = await this.getAuthFromClient(client, req, request.requestId, req.sessionToken);
652651
await runTrigger(trigger, `beforeConnect.@Connect`, req, auth);
653652
}
654653
parseWebsocket.clientId = clientId;
@@ -706,10 +705,12 @@ class ParseLiveQueryServer {
706705
try {
707706
const trigger = getTrigger(className, 'beforeSubscribe', Parse.applicationId);
708707
if (trigger) {
709-
const { auth } = await this.getAuthForSessionToken(request.sessionToken);
710-
if (auth && auth.user) {
711-
request.user = auth.user;
712-
}
708+
const auth = await this.getAuthFromClient(
709+
client,
710+
request,
711+
request.requestId,
712+
request.sessionToken
713+
);
713714

714715
const parseQuery = new Parse.Query(className);
715716
parseQuery.withJSON(request.query);

0 commit comments

Comments
 (0)