[AI 웹 개발] 7주차_3일

매일 성장하는 개발자·2023년 9월 21일

AI 웹 개발

목록 보기
26/36

오늘의 학습 키워드

  1. CBV
  2. Parse ⊃ Deserialize
  3. Swagger
  4. CORS
  5. local storage vs cookie
  6. jwt

이것만은 기억하자

CORS

  • AJAX 통신을 위해서, 프론트엔드와 벡엔드와 연결하기 위해 Fetch API를 사용.
    - async function
    - await
  • Cross-Origin Resource Sharing (CORS)
  • 같은 도메인에서 요청을 보낼 때는 항상 허용되지만, 다른 도메인에서 요청을 보낼 때는 보안의 문제로 별도의 허용이 필요함.
  • cross-Origin-Opener-Policy가 same-origin으로 되어있어서, CORS 오류가 뜨는 것임.
  • 오류 해결 방법 -> https://github.com/adamchainz/django-cors-headers

token

  • 로그인할 때 주민등록번호 같은 token을 벡엔드로 보내줌. local storage에 비슷한 key-value 형식으로 저장함. → 정보의 확인을 거치지 않는다는 장점!
  • 주민등록증처럼 발급이 되어서 이 자체로 여기저기 돌아다닐 때 이걸로 신원이 확인이 되는 것과 같음 / 기기별로 token을 발급하면 되기에 모바일시대에 더 적합하다!
  • 쿠키: name - value : domain, path, expire 등 정보가 담겨 있음
  • local storage: key-value만 있음. 별도로 expire과 같은 정보 X
  • 쿠키 설정할 때는 복잡한 것에 비해, local storage는 간결하게 설정할 수 있다.

jwt

  • 회원가입, 로그인 기능 써먹을 수 있다!

  • rest_framework 앱에 추가하고

  • setting.py의 istalled_apps 아래에 하단 코드 추가하기

REST_FRAMEWORK = {

    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework_simplejwt.authentication.JWTAuthentication',
    )

}
profile
로드 투 개발자 아카이빙

0개의 댓글