OAuth 2.0의 순서를 정리해 보았다
소개
최근 Vue.js와 Flask에서 API와 그것을 두드리는 페이지를 만들었습니다.
그 때, 인증 주위를 어떻게 할까 고민하고, 조사해 가면 OAuth
괜찮지 않을까 하는 결론에 다가갑니다만 Qiita 등을 보면서 조사해도 잘 몰랐습니다.
그런 가운데, 매우 알기 쉬운 자료를 발견했습니다.
[Slide Share] 기초에서 OAuth 2.0 - Developers.IO 2017
게다가 YouTube에서 해설 동영상도 있습니다.
[YouTube] DevelopersIO 2017 기초에서의 OAuth 2.0 perform by 도쿄 다이스케 #cmdevio2017
이 자료의 내용을 부분적으로 픽업해 갑니다.
인증 및 인가
인증(Authentication)
통신 상대가 누군가 확인하는 것
인증(Authentication)
통신 상대가 누군가 확인하는 것
허가 (Authorization)
요청이 허용되는지 여부 결정
일반적으로 인증 -> 권한 흐름에서 사용자는 주어진 권한 내에서 리소스에 액세스합니다.
OAuth 2.0의 등장 인물
키워드
설명
Resource owner (RO)
사용자, 클라이언트 리소스에 대한 액세스 권한 부여
클라이언트
앱, RS가 보유한 사용자 리소스에 액세스하는 장 본인
Authorization server (AS)
RO/RS 중개인, 클라이언트에게 RS에 대한 액세스의 핵심 액세스 토큰 발급
리소스 서버(RS)
사용자 리소스, 액세스 토큰이 없으면 액세스할 수 없음
OAuth 2.0의 기본적인 흐름은 RS에 있는 사용자 리소스에 액세스하고자 하는 Client가 AS로부터 액세스 토큰을 발행하게 하고 그 액세스 토큰을 가지고 Client는 RS에 액세스를 한다. 액세스 토큰 발급은 RO가 승인합니다.
클라이언트가 액세스 토큰을 얻는 흐름
Client credentials grant
포인트
Client credentials grant
포인트
Resource owner password credentials grant
포인트
Implicit grant
포인트
Authorization code grant
포인트
획득한 액세스 토큰 전송 방법
Authorization 헤더의 Bearer 체계 사용
Authorization: Bearer <ACCESS TOKEN>
덤
OAuth의 다양한 플로우의 시퀀스 다이어그램은 PlantUML이라는 도구를 사용하여 작성됩니다.
코드베이스로 다이어그램을 만들 수있어 매우 간단합니다.
소스 코드는 GitHub에서 공개합니다.
[GitHub] guromityan/oauth_plant_uml
Reference
이 문제에 관하여(OAuth 2.0의 순서를 정리해 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/guromityan/items/4f8d8ed74276539e9fd1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
OAuth의 다양한 플로우의 시퀀스 다이어그램은 PlantUML이라는 도구를 사용하여 작성됩니다.
코드베이스로 다이어그램을 만들 수있어 매우 간단합니다.
소스 코드는 GitHub에서 공개합니다.
[GitHub] guromityan/oauth_plant_uml
Reference
이 문제에 관하여(OAuth 2.0의 순서를 정리해 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/guromityan/items/4f8d8ed74276539e9fd1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)