-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Feat/chat jwt : 채팅에 JWT 입히기 & 넘치는 채팅 조절 (#152)
* feat/chat-jwt-1: refreshToken으로 Auth 변경 - 기존 accessToken으로만 가져왔던 부분 -> refreshToken으로 변경 (AppConfig에 적용) * feat/chat-jwt-2: 채팅에 JWT 적용 - SecureStore 이용해 refreshToken 가져온 후 가져온 token을 CONNECT/SUB/CHAT 시에 사용 - 기존 채팅에서 가져왔던 memberId 삭제 및 SecurityContext 적용 * feat/chat-jwt-3 : 장문 채팅 깨짐 문제 해결 - 말풍선 보낸이에 따라 채팅 상단/하단에 위치할 지 설정 -> underlay, trailContainer - 겹칠 때에는 ChattingBubble이 우선시 되도록 zIndex 부여 (1이 우선) - 채팅 좌우 패딩 줄이기 * feat/chat-jwt-4: run prettier * feat/chat-jwt-5: lint test * feat/chat-jwt-6: SecureStore로 들어오는 refreshToken 가져오기 함수화
- Loading branch information
Showing
11 changed files
with
1,662 additions
and
1,496 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,53 @@ | ||
import { Client } from "@stomp/stompjs"; | ||
import { WS_URL } from "@env"; | ||
import { getRefreshToken } from "util/secureStoreUtils"; | ||
|
||
export const connectWebSocket = (onMessage) => { | ||
let client = new Client({ | ||
brokerURL: WS_URL, | ||
debug: (str) => { | ||
console.log(str); | ||
}, | ||
reconnectDelay: 0, | ||
onConnect: () => { | ||
onMessage("Connected to WebSocket"); | ||
}, | ||
onStompError: (frame) => { | ||
console.log("Broker reported error: " + frame.headers["message"]); | ||
console.log("Additional details: " + frame.body); | ||
}, | ||
onWebSocketError: (error) => { | ||
console.log("Websocket error: " + error); | ||
}, | ||
onWebSocketClose: () => { | ||
console.log("Websocket connection closed"); | ||
}, | ||
}); | ||
client.activate(); | ||
export const connectWebSocket = async (onMessage) => { | ||
try { | ||
const token = await getRefreshToken(); | ||
if (!token) { | ||
console.error("Failed to retrieve token"); | ||
return; | ||
} | ||
|
||
let client = new Client({ | ||
brokerURL: WS_URL, | ||
debug: (str) => { | ||
console.log(str); | ||
}, | ||
reconnectDelay: 0, | ||
connectHeaders: { | ||
authorization: `Bearer ${token}`, | ||
}, | ||
onConnect: () => { | ||
onMessage("Connected to WebSocket"); | ||
|
||
client.publish({ | ||
destination: "/pub/chatroom/chat", | ||
headers: { | ||
"content-type": "application/json", | ||
authorization: `Bearer ${token}`, | ||
}, | ||
body: JSON.stringify({ | ||
message: "Hello, this is a test message.", | ||
}), | ||
}); | ||
}, | ||
onStompError: (frame) => { | ||
console.log( | ||
"Broker reported error: " + frame.headers["message"], | ||
); | ||
console.log("Additional details: " + frame.body); | ||
}, | ||
onWebSocketError: (error) => { | ||
console.log("Websocket error: " + error); | ||
}, | ||
onWebSocketClose: () => { | ||
console.log("Websocket connection closed"); | ||
}, | ||
}); | ||
client.activate(); | ||
} catch (error) { | ||
console.error("Failed to retrieve the token:", error); | ||
} | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.