1日も早くなれるじゃん。
로그인
1日も早くなれるじゃん。
로그인
OAuth2.0
Siwoo Pak
·
2021년 10월 27일
팔로우
0
http/네트워크
0
http/네트워크
목록 보기
11/12
OAuth
서버에서 직접 인증을 처리해주는 게 아니라, 다른 애플리케이션 서버에서 인증을 중개해주는 매커니즘
보안된 리소스에 액세스하기 위해 클라이언트에게 권한을 제공하는 프로세스를 단순화하는 프로토콜
즉, 이미 사용자의 정보를 가자고 있는 웹서비스에서 사용자의 인증을 대신해주고, 접근 권한에 대한 토큰을 발급한 후, 이를 이용해 내 서버에서 인증이 가능해지게 됨.
OAuth에서 꼭 알아야 할 용어
Resource Owner: 액세스 중인 리소스의 유저(김코딩)
Client: 리소스 오너를 대신하여 보호된 리소스에 액세스하는 응용프로그램(앱의 클라이언트)
Resource Server: 클라이언트의 요청을 수락하고 응답할 수 있는 서버(앱의 서버)
Authorization server: 리소스 서버가 액세스 토큰을 발급해주는 서버(구글, 네이버등)
Authorization grant: 클라이언트가 액세스 토큰을 얻을 때 사용하는 자격증명
Authorization code: access token을 발급받기 전에 필요한 code
Access token: 보호된 리소스에 액세스하는데 사용되는 credentials
Scope: 주어진 액세스 토큰을 사용하여 액세스할 수 있는 리소스의 범위(image)
Grant type
Client가 액세스 토큰을 얻는 방법
종류
Authorization code
Implicit Grant Type
Client Credentials Grant Type
Resource Owner Credentials Grant Type
Refresh Token Grant Type
1. Authorization code
액세스 토큰을 받아오기 위해서 먼저 인증코드를 받아 액세스 토큰과 교환하는 방법
인증 코드 절차를 거치는 이유는 보안성 강화에 목적이 있음.
클라이언트에서 client-secret을 공유하고 액세스 토큰을 가지고 오는 것은 탈취할 위험이 있기 때문에 클라이언트에선 인증코드만 받아오고 서버에서 액세스 토큰 요청을 진행함.
2. Refresh Token Grant Type
일정 기간 유효시간이 지나서 만료된 액세스 토큰을 편리하게 다시 받아오기 위해 사용하는 방법
액세스 토큰보다 리프레쉬 토큰의 유효시간이 대체로 조금 더 길게 설정하기 때문에 가능한 방법
서버마다 리프레쉬 토큰에 대한 정책이 다 다르기 때문에 리프레쉬 토큰을 사용하기 위해선 사요하고자 하는 서버의 정책을 살펴볼 필요가 있음
Siwoo Pak
'하루를 참고 인내하면 열흘을 벌 수 있고 사흘을 참고 견디면 30일을, 30일을 견디면 3년을 벌 수 있다.'
팔로우
이전 포스트
쿠키
다음 포스트
웹 캐시
0개의 댓글
댓글 작성