CodeStates/Backend 6

Section3 / Unit7 : [Backend]OAuth

OAuth 인증을 중개해 주는 메커니즘 보안된 리소스에 액세스하기 위해 클라이언트에게 권한을 제공하는 프로세스를 단순화하는 프로토콜 → 이미 사용자 정보를 가지고 있는 웹 서비스에서 사용자의 인증을 대신해 주고, → 접근 권한에 대한 토큰을 발급한 후, → 이를 이용해 내 서버에서 인증이 가능해짐 OAuth는 언제, 왜 쓸까? 예전에는 특정 웹 앱의 서비스를 이용하기 위해선 해당 웹 앱에 회원가입을 하는 것이 우선이었다. 하지만 소셜 로그인(네이버, 카카오 등)이 보편화된 현재, 대부분의 사람들이 이미 가입된 계정을 이용해 빠르게 서비스에 가입하는 것을 택하고 있다. 뿐만 아니라 서비스를 구현하는 개발자도 신규 회원가입이나 회원 관리를 신경 쓰지 않아도 되기 때문에 사용자와 기업 모두 소셜 로그인을 선호..

CodeStates/Backend 2023.07.04

Section3 / Unit7 : [Backend]Hashing/Token

Hashing 암호화 방식 중 하나인 해싱 복호화가 가능한 다른 암호화 방식들과 달리, 해싱은 암호화만 가능 해싱은 해시 함수(Hash Function)를 사용하여 암호화를 진행 해시 함수의 특징 항상 같은 길이의 문자열을 리턴 서로 다른 문자열에 동일한 해시 함수를 사용하면 반드시 다른 결과값이 나온다 동일한 문자열에 동일한 해시 함수를 사용하면 항상 같은 결과값이 나온다 레인보우 테이블과 솔트(Salt) 해시 함수의 특징 중 하나 → '항상 같은 결과값이 나온다' 이 말의 의미는 해시 함수를 거치기 이전의 값을 알아낼 수 있다. 레인보우 테이블 : 해시 함수를 거치기 이전의 값을 알아낼 수 있도록 기록해 놓은 표 → 기록된 값의 경우, 유출이 되었을 때 해싱을 했더라도 해싱 이전의 값을 알아낼 수 있..

CodeStates/Backend 2023.07.03

Section3 / Unit7 : [Backend]쿠키/세션

Cookie 서버에서 클라이언트에 영속성 있는 데이터를 저장하는 방법 서버는 클라이언트의 쿠키를 이용하여 데이터를 가져올 수 있음 쿠키를 이용한다는 의미는? → 서버에서 클라이언트에 쿠키를 전송 → 클라이언트에서 서버로 쿠키를 다시 전송 쿠키 특징 → 서버가 클라이언트에 특정한 데이터를 저장할 수 있다. → 데이터를 저장한 이후 특정 조건들이 만족되어야 다시 가져올 수 있다. *특정 조건 → http 헤더를 사용해 쿠키 옵션으로 표현 'Set-Cookie':[ 'cookie=yummy', 'Secure=Secure; Secure', 'HttpOnly=HttpOnly; HttpOnly', 'Path=Path; Path=/cookie', 'Doamin=Domain; Domain=codestates.com' ..

CodeStates/Backend 2023.07.03

Section2 / Unit10 : Web Server(req)

코드스테이츠 38일차! 리액트도 참 어려웠지만 서버는 진짜 너무 헷갈린다 익숙하지 않아서 그런 거겠지만 눈에 바로바로 보이지 않는 점이 좀 고단하다 포스트맨을 적극 활용하자! 포스트맨 사용법도 더 공부해보자...주눅들지 말자,,,, Statesairline Server과제에서 잘 모르겠던 점 구조분해할당 하는 방법(배열은 익숙한데, 객체부분이 익숙하지 않다) req, res의 의미(앞 글에서 어느정도 정리했다) req.params / req.query / req.body 차이 req.params → 라우터의 매개변수 ex) /:id/:name 경로가 있으면 ":id"속성과 ":name" 속성 -> req.params.id, req.params.name 으로 사용 가능 => www.example.com/p..

CodeStates/Backend 2023.06.05

Section2 / Unit10 : Web Server (express)

응답 객체 -response res.app: 똑같이 res 객체를 통해 app 객체에 접근한다. res.app.get('')같이 사용 가능 res.set(헤더, 값) / res.setHeader(헤더, 값): 응답의 헤더를 설정 res.status(코드) / res.sendStatus(코드): 응답 시의 HTTP 상태 코드를 지정 res.type(type): Contents-Type 헤더를 설정할 수 있는 간단한 메서드 res.cookie(키, 값, 옵션): 쿠키를 응답에 설정하는 메서드(cookie-parser 패키지가 필요) res.clearCookie(키, 값, 옵션): 쿠키를 응답에서 제거하는 메서드 res.end(): 데이터 없이 응답을 보냄 res.json(JSON): JSON 형식의 응답을 ..

CodeStates/Backend 2023.06.02

Section2 / Unit10 : Web server(SOP, CORS)

SOP(Same-Origin Policy) 의미 : 동일 출처 정책 -> 같은 출처의 리소스만 공유가 가능하다 ->여기서 말하는 출처(Origin)는 다음과 같다 --> 프로토콜, 호스트, 포트의 조합으로 되어있음 --> 하나라도 다르면 동일한 출처가 아님 SOP는 왜 생겨났을까? 공격받을 수 있는 경로를 줄여준다 -> 동일 출처 정책은 잠재적으로 해로울 수 있는 문서를 분리하기 때문 해킹 등의 위협에서 더 안전해질 수 있다 -> 다른 사이트와의 리소스 공유를 제한하기 때문에 로그인 정보(예시)가 타 사이트의 코드에 의해서 새어나가는 것을 방지할 수 있다 하지만 다른 출처의 리소스를 사용하게 될 일은 많다 -> 로컬 환경에서 개발할 때도 클라이언트와 서버를 따로 개발하게 되다면 둘은 출처가 다르다 -->..

CodeStates/Backend 2023.06.01