발단

내가 만든 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는 '옮기는 사람' 과 같은 의미를 갖고 있다고 한다.

다른 키워드는 이 링크에 더 있다.

스택 오버플로우 글은 여기에 있다.

+ Recent posts