본문 바로가기

node.js

[Node.js] 로그아웃 기능 https://youtu.be/zye0VrVUfuI?si=9Tmd6CsGreZ3m3SL 본 포스팅은 John Ahn 님의 유튜브 강의를 참고하였습니다. 안녕하세요 오늘은 로그아웃 기능을 구현하는 방법을 알아보도록 하겠습니다. 로그아웃은 로그아웃 라우터를 만들고 데이터베이스에 있는 로그아웃 하려는 유저의 토큰을 지워주기만 하면 됩니다. 먼저 로그아웃 라우터를 만들어 보겠습니다. server.js파일로 가서 app.get함수를 만들어 줍시다. app.get('/api/users/logout', auth, async (req, res) => { try { const updatedUser = await User.findByIdAndUpdate(req.user._id, { token: "" }, { new: tr.. 더보기
[Node.js] 로그인 기능 https://youtu.be/HcAYHUHTNi4?si=_P73OEjAh9ODPZq1 https://youtu.be/yWRj4GxFcr8?si=Qf7vOOcYPnV1p9Mb 본 포스팅은 John Ahn님의 유튜브 강의를 참고하였습니다. 오늘은 로그인 기능을 구현해 보도록 하겠습니다. 먼저 로그인 Route를 server.js에서 만들어 줍니다. app.post('/login', (req,res)=>{ //로그인 데이터를 가져온다 }) 로그인을 하려면 3가지 단계가 필요합니다. 1. 로그인 하려는 이메일이 데이터베이스에 존재하는지 확인한다. 2. 이메일이 존재한다면 비밀 번호가 맞는 비밀번호인지 확인한다. 3. 비밀 번호가 맞다면 토큰을 생성한다. 먼저 첫 번째 단계부터 구현해 보도록 하겠습니다. Use.. 더보기
[Node.js] 정보 암호화 및 관리2 - Bcrypt 본 포스팅은 John Ahn님의 유튜브 강의를 참고했습니다. https://youtu.be/XonyJxSDoGE?si=h5cZ3SChsfjVEVxs 저번에 Postman으로 MongoDB에 데이터를 넘겼었는데 확인해보니 데이터가 없었습니다. 왜 그런가 살펴봤더니 URL에 문제가 있었습니다. "mongodb+srv://아이디:비번@todolist.5fpaal7.mongodb.net/데이터베이스이름?retryWrites=true&w=majority" MongoDB의 주소 형식인데 제가 데이터베이스 이름을 입력하지 않았었습니다. 지금은 이렇게 Postman으로 데이터를 넘기면 잘 넘어옵니다. 저번 시간에는 MongoDB의 주소 비밀번호를 암호화 해봤는데요. 오늘은 Bcrypt라는 것을 이용해서 로그인 할 때 .. 더보기
[Node.js, Git] 정보 암호화 및 관리 MongoDB의 URL은 'mongodb+srv://아이디:비번@todolist.5fpaal7.mongodb.net/?retryWrites=true&w=majority' 이런 형식입니다. 소스 파일들을 배포하게 되면 비밀번호가 그대로 유출될 수 있습니다. 그래서 이런 중요한 정보들은 따로 관리해 줘야 합니다. 방법이 dev, prod 2가지가 있는데요. 먼저 config라는 폴더를 하나 만들어 봅니다. config 안에는 dev.js, key.js, prod.js파일이 들어갑니다. 1. dev는 development의 약자로 개발중인 상태에서 쓰이는 암호화 파일입니다. module.exports = { mongoURI : "mongodb+srv://ekdh3904:fogus12@todolist.5fpaa.. 더보기
[React] 리액트로 서버에 데이터 연동하기2 저번 시간에는 express를 이용해서 서버에 데이터를 추가하고 변경하는 것까지 해봤습니다. 이번에는 리액트에서 코드를 짜서 서버에 데이터 요청을 해보겠습니다. (라매개발자님의 강의 영상을 참고하였습니다.) 먼저 create-react-app database를 터미널에 입력해서 작업 폴더를 만들어 줍니다. 그리고 필요없는 css파일들과 logo.svg파일을 지워줍시다. 파일을 지웠으니까 index.js와 app.js의 import문과 내용을 지워줍니다. function App() { return ( Todolist ); } export default App; 임의로 코드를 적고 npm start를 통해서 테스트 해봅시다. 잘 나오네요! 서버에 데이터를 요청하려면 fetch와 axios를 사용해야 합니다... 더보기
[React] 리액트로 서버에 데이터 연동하기 안녕하세요 오랜만에 글쓰게 되었네요. 게으른 자신을 반성중.. 오늘은 리액트로 서버에서 데이터를 가져와보는 시간을 가져보겠습니다. 라메개발자님의 강의 동영상을 참고했습니다. 먼저 폴더를 하나 만들어줍니다. 그리고 터미널 창에 npm i express를 쳐서 익스프레스를 설치해줍니다. 구글에 npm이라 치면 npm관련 동작을 도와주는 사이트가 나오는데 여기서 검색창에 express라고 치면 샘플코드가 나옵니다. 이것을 App.js 파일에 넣어주고 실행시켜 봅시다. 터미널의 node app.js라고 친뒤 실행시키면 요렇게 서버가 잘 실행되는 것을 확인할 수 있습니다. const express = require('express') const app = express(); let id = 2; app.use(e.. 더보기