인증(Authentication) / 인가(Authorization)

전은평·2023년 4월 15일
0

지난 블로그 JWT(Json Web Token)에서 토큰의 종류와 어떻게 작동되는지에 대해 간단하게 알아보았다.

오늘 블로그에선인증(Authentication)이 무엇이고,인가(Authorization)란 또 무엇인지에 대해 알아보자!

🤔 정말 간단하게 설명하자면

인증(Authentication)은 로그인 과정을 통해 토큰을 발급하는 과정이고,

인가(Authorization)는 로그인 후, 로그인이 필요한 서비스들을 사용할 때 해당 유저가 맞는지 확인을 해야하는데, 매번 로그인 과정을 하게 되면 번거로우니 인증하면서 받은 토큰으로 유저임을 확인하는 과정을 의미한다!

그렇다면 인증과 인가의 로직에 대해서 조금 더 자세히 알아보자!
위의 말은 결국 로그인 로직과 그 이후 서비스 이용하는 로직에 대해서 알아보는 것과 같다.

[ 로그인 및 로그인 후 관련 서비스 이용시 로직 ]

  1. 로그인 시 입력된 아이디와 비밀번호에 해당하는 유저가 있는지 조회
  2. 해당하는 유저가 없으면 에러 반환 / 있다면 토큰을 발행하여 클라이언트(프론트)에게 응답

    ===========================> 인증!!

    : 이때 발행하는 토큰은 accessTokenrefreshToken이 있다.
    : 둘의 차이는 저장되는 위치만료시간이다. accessToken의 경우에는 변수에 저장되고 만료시간이 짧은 편 이다. 반면 refreshToken의 경우에는 브라우저의 쿠키에 저장되고 만료시간이 긴 편이다.
    : 로그인 후 accessToken이 만료가 되더라도, refreshToken을 통해 유저임을 확인하고 맞다면 다시 accessToken을 발급하여 로그인 후 서비스를 이용할 수 있게 된다.

    ============================>인가!!

    이렇게 다시 로그인 할 필요없이 token을 refresh해준다고 해서 refreshToken으로 불린다.

둘의 개념과 로그인 로직을 정확하게 이해하고 헷갈리지 않도록 주의하자!

profile
`아는 만큼 보인다` 라는 명언을 좋아합니다. 많이 배워서 많은 걸 볼 수 있는 개발자가 되고 싶습니다.

0개의 댓글