반응형
jwt로 토큰을 발급해 사용함으로써 사용자 인증을 할 수 있습니다.
여기서는 발급과 인증을 하는 방법을 알아보겠습니다.
토큰 발급
jwt.sign(토큰화할 것, 토큰키, 옵션, 콜백 함수 )
이제 1분동안 유효한 id 값을 가진 토큰을 생성해 보겠습니다.
const jwt = require('jsonwebtoken');
cosnt tokenKey = '임의의 키 설정' // 물론 실제 개발시에는 따로 숨겨놔야합니다.
const id = 'example_id'
const token = jwt.sign({ id : id }, tokenKey, { {id:id}면 {id}로 축약 가능
expiresIn: 60, // 1분 유효한 토큰 발급(초 단위)
});
이제 이 token을 응답으로 넘겨주고 사용하면 됩니다.
자 만약 클라이언트에서 토큰을 보내 요청하면 토큰을 해석해 보겠습니다.
const jwt = require('jsonwebtoken');
cosnt tokenKey = '토큰을 만들때 쓴 값'
cosnt token = '요청에서 받아온 token'
const data = jwt.verify(token, tokenKey);
// 이제 data를 클라이언트로 보내서 사용.
토큰이 유효하다면 해석해 만들때 넣은 오브젝트를 반환하고 아니라면 error메세지를 응답합니다.
이제 이 토큰을 이용해 사용자의 로그인 상태를 관리할 수 있습니다.
저는 cookie에 저장해 사용할 예정인데 다음 포스팅에서 token을 cookie에 저장해 사용자 인증을 하는 방법을 알아보겠습니다.
반응형
'개발 > Web' 카테고리의 다른 글
[React] axios를 사용할때 동기, 비동기 주의하기 (0) | 2022.01.12 |
---|---|
[React] react-cookie를 이용해 쿠키 관리하고 로그인 인증하기 (0) | 2022.01.12 |
[Node.js] express .Router( ) / 라우터로 파일 정리하기 (0) | 2022.01.11 |
[React] (Proxy) 리액트와 노드 다른 포트 통신 설정 (1) | 2022.01.10 |
[React] 리액트, 노드 연동하기 (프론트, 서버) (0) | 2022.01.10 |