2021. 8. 7. 16:33ㆍ카테고리 없음
출처:
https://opentutorials.org/module/3668
https://youtube.com/playlist?list=PLuHgQVnccGMA4guyznDlykFJh28_R08Q-
Mine에서 Their의 서비스를 유저에게 적용하기 위해, accessToken 발급이 필요하다
이 때, id/pw같은 정보 노출이 일어나는 것을 방지하기 위한 기술이 OAuth 기술이다
따라서 이를 이용하면, 내가 그 정보들을 저장하지 않고도 사용자 식별/구별이 가능함
위는 설명을 위해 그렇게 부른거고, 원래 정식명칭은 다음과 같다.
여기서 인증관련 담당서버가 있는데, 편의상 리소스서버랑 합쳐서 걍 리소스서버라 하고 설명한다
등록 절차
= 클라이언트가 리소스서버에 그들의 서비스를 사용하겠다고 등록하는 절차
위 3가지 요소를 공통으로 갖음
(앱식별자, 비밀번호, 서버가 권한부여 과정에서 이 주소로 전달해달라는 그 주소)
예를 들어, 구글 등록절차를 살펴보자
1. https://console.cloud.google.com/
2. 프로젝트> API 및 서비스> 사용자 인증 정보 로 이동
3. 사용자 인증 정보 만들기> OAuth Client ID
인증 절차
최소한의 동의만 하게 해라!
위와 같이 리소스오너에게 사용자 동의 요청 페이지를 주면 됨
1. 로그인
2. 클라이언트 id 값 확인, 리다이렉트url 값 같은 지 확인
3. (같으면) 권한 요청
4. (권한동의하면)
오너-> 서버:: 유저아이디, 동의한 권한 확인 (url전송)
서버-> 오너:: 권한코드(임시비밀번호) 생성해서 url보냄
오너:: 서버에게 받은 url로 이동 == 클라이언트에게 오너정보 보냄
클라이언트-> 서버:: 오너에게 받은거 다 결합해서 보냄
서버:: 클라이언트에게 받은 정보들 일치하는지 확인
5. (일치하면) accessToken 발급
서버-> 클라이언트:: 액세스토큰(사용자id에 대해 유효한 권한정보) 보냄
클라이언트:: 저장해둠
API
= Their 서비스를 사용하기 위해 Their가 제공하는 사용방법
이 API를 사용하기 위해서는 경우에 따라 인증이 필요할 수도 있다
API를 위한 accessToken(수명O) 가져오는 방법은..
"google api access token oauth" 와 같이 검색하여 확인해보자
accessToken이 만료되면, refreshToken을 사용
++
REST API는 클라이언트가 사용자 인증 정보를 따로 직접 관리한다
https://www.redhat.com/ko/topics/api/what-is-a-rest-api https://meetup.toast.com/posts/92