RC 6th WEEK : Rest API

YJ·2023년 1월 25일
0

라이징 캠프 13기

목록 보기
10/11
post-thumbnail

이번주는 과제는 없고
그동안 구현하지 못 했던 것 구현해보고,
라이징테스트 수료를 위해 준비하는 주차이다.

6주차 수업은 Rest API!!!!!!!!

1. Rest API란??

Rest 기반으로 서비스 API를 구현한 것이다.

1.1 Rest란??

Representational State Transfer(REST)
API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처이다.

요즘 API는 거의 다 Rest API로..!

Rest API에 대해 더 알고 싶으시다면..!
https://aws.amazon.com/ko/what-is/restful-api/

2. 로그인 방식

2.1 OAuth

2.1.1 OAuth란??

OAuth("Open Authorization")는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준
oAuth는 토큰을 발급해주는 프레임워크라고도 할 수 있다.

카카오 로그인을 앱에 적용할 때,
이메일, 프사, 이름 등의 정보를 카카오와 같은 기업들이 제공해주는 이유는
유저 확보를 하기 위해서이다.

여담이지만 이메일을 받아오려면 사업자 등록을 해야한다고..
Big3, Big5를 정해서 필요한 데이터만 넘겨서 사용한다!

2.1.2 Access Token과 Refresh Token

Access Token의 유효기간이 보안상의 이유로 짧기 때문에 Refresh Token을 사용해서 사용자의 불편함을 해소한다.

2개의 토큰으로 관리하는 이유는
탈취와 보안 때문이다!

2.2 JWT

라이징테스트에서 사용할 거기 때문에 집중해서 들었다!

2.2.1 JWT란?

JSON
Web
Tokens

놀이공원 자유이용권 같은 느낌이랄까...?

2.2.2 JWT 구성은..?

header -> 토큰 type, 암호 알고리즘
payload -> data(name-value)
signature -> key(secret), 누가 발급했는지

API -> JWT 자동 로그인 할 때 JWT만 핸들링해주면 된다!

JWT(JSON Web Tokens)
https://jwt.io

2.3 쿠키와 세션

Client 스토리지 -> 쿠키 (사용자의 저장소에 저장)
Server 스토리지 -> 세션 (서버의 저장소에 저장)

profile
why not?!?!

0개의 댓글