-
[Next.js] OAuth(2.0)를 통한 로그인 인증FrontEnd/Next.js 2023. 1. 10. 13:57
1. OAuth란?
- Open standard for Authorization, Open Authorization
- 권한 부여를 위한 공개된 인증 프로토콜 ( 접근 권한을 위임하는 개방형 표준 프로토콜 )
- eg) SNS , Google, Github, Apple, kakao, Naver 등등
2. OAuth 의 구성 요소
- 자원 소유자 (Resource Owner)
- 접근 권한과 엑세스 권한에 대해서는 아래 작동 과정 그림을 보며 접목해보면 쉽게 이해 가능
- eg) 깃헙 계정으로 로그인 할려는 사람
- 클라이언트 (Client)
- eg) Velog 등 OAuth 로그인을 지원하는 애플리케이션
- 인가 서버 (Authorization Server)
- 자원 소유자를 인증하는 과정을 통해 권한에 대한 유효성을 검증
- 모든 검증 종료시 자원 서버에 접근하여 자원 요청 권한을 가질 수 있는 토큰을 발급하여 클라이언트에게 응답
- eg) 깃헙 로그인 토큰을 발금하는 인가 서버
- 자원 서버 ( Resource Server)
- 자원 서버는 접근 권한이 있는 보호된 자원을 호스팅함
- 경우에 따라 인가 서버와 자원 서버가 같은 서버일 수 있다.
- Github API 서버
3. 작동과정
- 사용자가 클라이언트에 OAuth 권한을 부여하기 위해 인가 서버에 접근
- 인가 서버에 적절한 인증 정보를 제공하여 클라이언트에 인가 코드 및 토큰 발급
- 토큰을 통해 자원 서버에 접근 하여 클라이언트에서 필요한 자원에 접근
각 단계에서의 작동 과정의 자세한 설명 https://velog.io/@shyuuuuni
[ 클라이언트 - 자원 서버 ] 자원 요청
'FrontEnd > Next.js' 카테고리의 다른 글
[Next.js] bcrypt 를 통해 비밀번호 암호화 (0) 2023.01.23 [Next.js] Next.js API 만들기 (feat. handler, withHandler) (0) 2023.01.22 페이지 렌더링 비교 (SSR vs CSR vs SSG (0) 2023.01.04 [Next.js][보수 공사 필요] getServerSideProps, getStaticProps ( Data Fetching in Next ) (0) 2023.01.04 [Next.js] Middleware에 대해 알아보자 (0) 2022.12.22