1. oauth 무엇인지?
1) oauth2.0 : 서비스를 이용하는 유저의 타사 플랫폼의 정보에 접근하기 위해 권한을 타사 플랫폼(구글, 네이버, 카카오 등)으로부터 위임 받는 것
2) oauth 동작 방식 : 로그인 요청하면 네이버는 로그인 페이지를 제공하고, 사용자는 id/pw 제공, 만약 일치하는 정보라면 권한 코드 발급을 해주고, 권한 코드(url 뒤에 붙어서 옴)와 클라이언트 아이디, 클라이언트 시크릿을 가지고 토큰을 요청 + 토큰이 발급되고 이 토큰은 DB에 저장됨 (로그인 성공) + 이 토큰으로 사용자 정보 호출 가능
2. 네이버 소셜 로그인이 이루어지는 방식/순서?
1) oauth 동작 방식과 동일 : 토큰은 클라이언트 id, 클라이언트 secret, 권한 코드 이 세가지를 통해 요청 가능
2) 명세(구조) : 네이버 로그인 API는 네이버 로그인 인증 요청 API, 접근 토큰 발급/갱신/삭제 요청 API로 구성되어 있음
네이버 로그인 인증 요청 API는 여러분의 웹 또는 앱에 네이버 로그인 화면을 띄우는 API 이며, 이용자가 네이버 회원 인증에 성공하면 API로부터 받은 code 값을 이용해서 접근 토큰 발급 요청 API를 호출 + 접근 토큰 발급 요청 API를 통해 받은 접근 토큰(access token) 값은 회원 프로필 조회를 비롯하여 여러가지 로그인 오픈 API를 호출하는데 사용할 수 있음
3. JWT란?
1) JWT(Json Web Token) : 인터넷에서 정보를 안전하게 전송하기 위한 인증 방식 중 하나입니다. JWT는 JSON 형식으로 데이터를 저장하며, 데이터의 무결성을 보장하기 위해 디지털 서명이 포함됩니다.
2) 동작 방식 : 사용자가 로그인을 하면 서버에서 JWT를 발급하고, 이 JWT를 사용하여 사용자 인증 정보를 안전하게 전송할 수 있습니다. 이후 사용자가 다시 서버에 접속할 때는, JWT를 사용하여 사용자 인증을 확인할 수 있습니다.
3. 인증과 인가?
- 인증 : 회원가입, 로그인 하는 것
- 인가 : 토큰을 제시하고 접근하는 것 (인증 + 허가)
* 이번 장고 프로젝트에서 소셜 로그인 이외 그냥 로그인/회원가입은 DB에 데이터 넣고, 동일한 값 있는지 없는지 확인하는 정도로만 끝냈음
'이론 공부' 카테고리의 다른 글
GET / POST 방식 (0) | 2023.03.12 |
---|---|
인터페이스(Interface) (1) | 2023.03.12 |
스프링 프레임워크 (0) | 2023.03.10 |
서블릿과 JSP의 차이 (0) | 2023.03.07 |
추상화 (0) | 2023.03.02 |