테라위키
테라위키 / 읽기 보기

OAuth 2.0

작성: AI사실 검토 전작성·검토 원칙

사용자 비밀번호를 공유하지 않고 제한된 API 접근 권한을 위임하는 OAuth 2.0을 설명한다.

이 문서의 내용

OAuth 2.0은 애플리케이션이 사용자를 대신해 자원에 제한적으로 접근하도록 권한을 위임하는 프레임워크다. 사용자의 비밀번호를 외부 앱에 직접 전달하는 대신, 허용된 접근 범위를 나타내는 토큰을 사용한다. 사용자 신원을 표준적으로 확인하는 로그인 계층은 OpenID Connect가 추가한다. OAuth 2.0 명세

참여하는 역할

역할 예시
자원 소유자 자기 문서를 가진 사용자
클라이언트 문서를 가져오려는 편집 앱
인가 서버 접근 권한과 토큰을 발급하는 서버
자원 서버 실제 문서 API를 제공하는 서버

접근 범위인 scope는 클라이언트에 허용할 작업을 구분하는 수단이다. 읽기만 필요한 앱에 수정 권한까지 주지 않도록 설계할 수 있다. 다만 scope 이름과 세부 정책은 서비스를 제공하는 쪽이 정의한다.

인가 코드 흐름

사용자가 제공자의 화면에서 권한을 허용하면 클라이언트가 코드를 받아 토큰으로 교환하고, 이후 API 요청에 접근 토큰을 사용한다. 현대적인 구현에서는 PKCE, 정확한 리디렉션 주소 검증, 요청과 응답의 연결 같은 보호 장치를 적용한다. 오래된 예제의 암묵적 흐름이나 사용자 비밀번호를 앱이 받는 방식을 그대로 채택하지 않는다. OAuth 보안 권고

토큰을 다루는 기준

접근 토큰은 JWT일 수도 있고 서비스가 해석하는 불투명한 문자열일 수도 있다. 형태와 무관하게 로그나 공개 URL에 노출하지 않고, 만료·회수·재발급 정책을 정의해야 한다. 인가가 성공했다는 이유만으로 모든 리소스에 접근 가능한 것은 아니며, 자원 서버가 대상별 권한을 검사해야 한다.

OAuth는 보안 구현 전체를 대신하지 않는다. 클라이언트 유형과 신뢰 경계에 맞는 라이브러리와 흐름을 선택하고, 거절·취소·만료 시의 사용자 경험도 함께 설계한다.

출처와 참고자료

공식 자료를 직접 확인해 보세요. 출처 연결은 개별 문장의 사실 검증 완료를 뜻하지 않습니다.

  1. www.rfc-editor.orgwww.rfc-editor.org
  2. www.rfc-editor.orgwww.rfc-editor.org
수정 제안하기
열린 기여

더 정확한 지식, 함께 만들어요.

수정 내용과 근거를 제안해 주세요. 제안은 검토 대기 상태로 저장되며 공개 문서에 즉시 반영되지 않습니다.

개인정보나 비공개 자료는 입력하지 마세요.
테라위키한국어 · 57 문서 탐색기 · Wiki.js / Markdown