발단
내가 만든 JWT 토큰은 카테캠에서 실습할 때와 다르게 Bearer 키워드가 앞에 없었다. 나도 Bearer 토큰을 만들고 싶었다.
문제
chatGPT에게 내가 현재 JWT로 토큰을 생성하고 있는데, Bearer 키워드가 붙은 토큰으로 만들어달라고 했다.
근데 이런 답변을 받았다.
’Bearer ‘ 문자열을 앞에 덧붙이라는 응답이었다.
예, Bearer 쿠키를 반환하려면 Express에서 res.cookie() 메서드를 사용하여 아래와 같이 구현할 수 있습니다.
javascriptCopy code const express = require('express'); const app = express(); app.get('/set-cookie', (req, res) => { const token = 'your_generated_token'; res.cookie('access_token', `Bearer ${token}`, { httpOnly: true, maxAge: 1000 * 60 * 60 * 24 * 7 }); res.send('쿠키가 성공적으로 설정되었습니다!'); }); app.listen(3000, () => { console.log('서버가 <http://localhost:3000> 에서 실행 중입니다.'); });
이 예제에서는 클라이언트가 /set-cookie 엔드포인트로 요청을 보내면 서버가 access_token 쿠키를 설정하고, Bearer 스키마를 포함하여 해당 토큰 값을 반환합니다. 쿠키는 maxAge 옵션에 지정된 기간 동안 유효하며, httpOnly 옵션으로 인해 JavaScript를 통해 접근할 수 없으므로 특정 유형의 공격으로부터 보다 안전합니다.
결론
Bearer 키워드는 그냥 상호간의 약속이었다.
따로 Bearer JWT를 만드는 방법이 있다던가, 하는 것은 없었다.
다른 타입의 Authorization과 비교, 식별하기 위해서 사용하는 키워드였다.
추가적으로 Bearer는 '옮기는 사람' 과 같은 의미를 갖고 있다고 한다.
'백엔드' 카테고리의 다른 글
무한 대댓글 실제로 구현해보기 O(N^2) (0) | 2023.08.06 |
---|---|
Redis O(N) 문제와 대응: SCAN 명령어로 효율적으로 데이터 조회하기 (0) | 2023.07.27 |
백엔드에서의 무한 대댓글 구현 (0) | 2023.07.26 |
return function과 콜백 이해하기 (0) | 2023.07.23 |
jsonwebtoken의 jwt.sign(), jwt.vertify()에서 콜백 사용이 필요할까? (0) | 2023.07.23 |