저녁에 퇴근하고 머리가 안돌아가서 생활코딩이라는 것을 처음 들어봄
https://www.youtube.com/watch?v=UH5XnjkBqKE
OAuth의 목적 - 액세스 토큰 발급
세 종류의 노드 - 나의 서버(서비스), 사용자 ,리소스 서버(구글, 페북 등)
리소스 서버에서 access token을 oauth를 통해 획득하고, 그들의 서비스로부터 데이터를 가져오는 것이 목적
등록
클라이언트가 리소스 서버에 미리 요청을 받아놔야함( 예를 들어, 페이스북 개발자 페이지에서 로그인 관련 자신의 사이트와 리다이렉트 페이지를 추가함)
로그인 버튼을 만약 클릭한다면 -> 구글의 oauth 관련 페이지 + 리다이렉트 주소 같이 보내서 , 액세스 토큰을 리다이렉트 페이지로 가져옴(백엔드에서 처리, 로그인처리)
클라이언트가 가져고 있어야 하는 정보
client_id
client_secret(사용자 비밀번호? 직접 리소스 서버에 전송해야하며, 노출하면 안됨)
authorization code
액세스 토큰을 가지고, 리소스 서버를 핸들링 → 리소스 서버의 api를 사용할 수 있음
rest api 로 값을 보내서 받아올 수 있음
access token: 수명이 있음
수명이 끝나면 api 접속했을 때, 데이터를 주지않음
액세스 토큰 → 리소스 서버
액세스 토큰 → 유효하지 않은 응답이다? 보관하고 있던 리프레시 토큰을 보내서 다시 액세스 토큰을 발급 받는다.
리프레시 토큰 → 인증 서버
---
서비스 관점에서 생각해보면
1. 미리 구글, 페북 개발자 페이지에서 어떻게 액세스 토큰을 얻는지 주소값과 값들을 받아옴
2. 사용자가 구글로 로그인 하면 구글 아이디정보와 해당정보를 보내서 액세스 토큰을 받음
3. 액세스 토큰으로 api 호출 사용가능
4. 액세스 토큰이 만료되면 리프레시 토큰으로 액세스 토큰을 재발급받음
'공부기록 > 인터넷 강의' 카테고리의 다른 글
템플릿 메서드 패턴과 전략, 콜백 (0) | 2022.02.06 |
---|---|
RestFul (0) | 2021.11.20 |
스프링 입문 복습(2회차) (0) | 2021.06.27 |
스프링 mvc 1편 수강완료 (0) | 2021.05.24 |
모든 개발자를 위한 HTTP 웹 기본 지식 수강완료 (0) | 2021.05.05 |