목록전체 글 (348)
Jieunny의 블로그
📣 깃허브 로그인 인증 사용해서 로그인 기능 구현하기 - client만 구현 𝟭. client 파일 구조 src ㄴ pages ㄴ components ㄴ Loading.js : 로딩 화면 컴포넌트 ㄴ UserInfo.js : 로그인 성공 하면 나타나는 유저 정보 컴포넌트 ㄴ Login.js : Authorization code 받아오기 - Github에 요청을 보내서 Authorization code를 받아온다. ㄴ MyPage.js : 로컬 서버를 통해 Github 리소스 서버에 유저 정보 요청, 로그아웃 - Authorization code를 받아왔다면 App.js의 getAccessToken 함수가 실행된다. - 이 함수를 통해 서버의 /callback 엔드포인트로 요청을 보내고, 응답으로 받아온 ..
📣 Cookie와 Token을 사용해서 로그인 기능 구현하기 - Client 부분은 Cookie 게시물과 같으므로 Server 부분만 설명. 𝟭. 서버 파일 구조 controllers ㄴ helper ㄴ tokenFunctions.js : 토큰 생성, 토큰 검증 함수 구현 ㄴ users ㄴ login.js : server의 login controller 구현 1. request로 받은 id, password와 일치하는 정보가 DB에 있는지 확인 2. 없으면 요청을 거절, 있으면 필요한 데이터를 담은 두 종류의 토큰 생성(access, refresh) 3. request로 받은 checkedLoginKeep 여부 확인 4. true인 경우 accessToken, refreshToken 둘 다 쿠키로 설정..
➰ 83일차 너무너무너무 힘들었다!!! 서버 너무 어려운데..오늘 페어활동을 거의 혼자 했다.. 거기다가 전에 페어 했던 분 알려드리려고 하다가 여러 명 앞에서 강의를 하게 됐다... 앞에 나서는 걸 별로 안좋아해서 진이 쭉 빠졌다ㅠㅠㅠ 하루종일 서버 구현만 했지만 그래도 어찌저찌 성공했고, 어렵게 해서 완성하니까 뿌듯하기도 하다.. 그래도 안하고싶다..🥹 내일도 어렵겠지ㅠ 오늘 코테 문제 풀려고 했는데... 과제 다 하고 여기저기 설명하다 보니까 5시였다ㅎㅎ.. 힘들다 힘들어 스터디는 언제나 보람차다🌱
📣 해싱(Hashing) ✔️ 복호화가 불가능한 암호화 방법 ➰ 해시 함수를 이용해 암호화를 진행한다. ➰ 해시 함수 ﹒ 항상 같은 길이의 문자열을 리턴한다. ﹒ 서로 다른 문자열에 동일한 해시 함수를 사용하면 반드시 다른 결과값이 나온다. ﹒ 동일한 문자열에 동일한 해시 함수를 사용하면 항상 같은 결과값이 나온다. 📣 레인보우 테이블과 솔트(Salt) ✔️ 레인보우 테이블 : 항상 같은 결과값이 나온다는 특성을 이용해 해시 함수를 거치기 이전의 값을 알아낼 수 있도록 기록한 표 ➰ 이 값이 유출되었을 때 해싱을 했더라도 이전 값을 알아낼 수 있으므로 보안상 위협이 될 수 있다. ✔️ 솔트 : 해싱 이전 값에 임의의 값을 더해 데이터가 유출 되더라도 해싱 이전의 값을 알아내기 어렵게 만드는 방법 ➰ 해싱..
➰ 82일차 ㅎㅎ테트리스 포기 코드를 왜 저렇게 구현하는지 모르겠는데, 영어라서 못알아듣겠고.. 파파고 돌려도 이상하게 나오고ㅠㅠㅠㅠㅠ 한국 강의는 이런거 없나.. 애초에 내가 너무 어려운 걸 골랐나🥹 오늘 커리큘럼 빨리 끝내려고 했는데 생각보다 너무 어려워서 한 두시간 걸린거같다ㅠ 일단 유어클래스에 있던 대로 복사, 붙여넣기만 하는데도 에러가 떠서 시간을 많이 잡아먹었고, 블로깅하면서 제대로 이해하는데도 시간이 걸렸다. 그래도 스터디원분들 계시니까 편하게 여쭤볼 수 있어서 훨씬 좋은 것 같다. 남은 시간에는 내일 있을 스터디 준비 좀 하고 오늘 너무 집중이 안되서 그냥 멍하니 있던 시간이 좀 길었던 것 같다... ㅇ ㅏ..하기싫어.. 투두리스트를 만들겠다는 목표를 이루고 나니 또 목표가 없어져서 늘어지..
📣 Cookie 사용해서 로그인 기능 구현하기 > Client 𝟭. 테스트 케이스 Auth - Client ✓ 🧩 유저 정보가 충분하지 않은 상태에서 로그인 버튼을 누를 시 에러메시지가 나타나야 합니다. (361 ms) ✓ 🧩 로그인 버튼 클릭 시 성공적으로 로그인되어야 합니다. (204 ms) ✓ 🧩 로그아웃 버튼 클릭 시 성공적으로 로그아웃되어야 합니다. (144 ms) ✓ 🧩 존재하지 않는 유저의 정보로 로그인할 시 에러메시지가 나타나야 합니다. (66 ms) 𝟮. 파일 구조 src ㄴ pages ㄴ Login.js : 서버로 로그인 요청 보내기 ㄴ MyPage.js : 서버로 로그아웃 요청 보내기 ㄴ App.js : 초기화면 렌더링(Login 페이지인지 MyPage 인지) 𝟯. 코드 구현 📌 Ap..