Home OAuth2 정리하기
Post
Cancel

OAuth2 정리하기

OAuth2란?

  • application이 Facebook, Github 같은 HTTP 서비스에 대한 사용자 계정에 접근을 할수 있도록하는 인증 framework.
  • 사용자 인증을 사용자 계정을 호스팅하고 있는 서비스에 맡기고 third-party application에게 사용자 계정에 대한 정보에 접근 할수 있도록 권한을 부여
  • web app, desktop app, mobile app에게 authorization flow를 제공해줌
  • 참고링크

Grant Type : Authorization Code

  1. 유저에게 인가요청
  2. 유저가 인가허가
  3. Auth Server는 Client에게 authorization code 부여
  4. Client는 access token을 Auth Server에 요청
  5. Auth Server는 Client에게 token 전달

Grant Type : Implicit

위 과정 3번과정을 다음과 같이 변경

  • Auth Server에서 Access Token과 함께 redirection URI 전달
  • redirection URI로 이동하여 token 획득
  • client에서 token extract 스크립트를 브라우저로 전달
  • 브라우저에서 Client로 token 전달

Grant Type : Resource Owner Password Credentials

  • username과 password를 app에서 username과 password를 입력받아서 인가서버에 보내서 토큰 획득
  • 다른 방식이 안될때만 사용권장, app이 user에 의해 신뢰가 될때만 사용(e.g. 앱 자체가 Auth service에 의해 소유될때)

Grant Type : Client Credentials

  • app 자체의 credentials(client id, client secret) 를 Auth Server에 보내서 Access Token을 획득

  • app이 redirect URI에 대한 정보를 업데이트 하고 싶다거나, api를 통해서 app 자체의 데이터를 받아오고 싶을 때 사용이 가능하다.

This post is licensed under CC BY 4.0 by the author.

[Travis CI] docker image 빌드하여 dockerhub에 푸시작업 자동화하기

[LeetCode] Recover Binary Search Tree

Comments powered by Disqus.

Trending Tags