Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug/#202 - 웹 소켓 비어있는 쿠키 에러 수정 #204

Merged
merged 1 commit into from
Nov 20, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 10 additions & 5 deletions packages/backend/src/auth/session/websocketSession.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,21 @@ export class WebsocketSessionService {
constructor(private readonly sessionStore: MemoryStore) {}

async getAuthenticatedUser(socket: Socket) {
const cookieValue = websocketCookieParse(socket);
const session = await this.getSession(cookieValue);
return session ? session.passport.user : undefined;
try {
const cookieValue = websocketCookieParse(socket);
const session = await this.getSession(cookieValue);
return session ? session.passport.user : null;
// eslint-disable-next-line @typescript-eslint/no-unused-vars
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오... 이렇게도 되는군요

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

webStom에서 발생한 경고에서 주석을 사용하라는 액션을 통해서 작성했습니다.
왠만하면 작성안하려고 했는데 에러가 발생했을 때 잡은 에러를 사용할 일이 없어서 일단 이렇게 했습니다.

} catch (e) {
return null;
}
}

private getSession(cookieValue: string) {
return new Promise<PassportSession | undefined>((resolve) => {
return new Promise<PassportSession | null>((resolve) => {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

명시적 null 좋습니다ㅏ

this.sessionStore.get(cookieValue, (err: Error, session) => {
if (err || !session) {
resolve(undefined);
resolve(null);
}
resolve(session as PassportSession);
});
Expand Down