OAuth
OAuth(Open Authorization)는 사용자가 비밀번호를 공유하지 않고도 제3자 애플리케이션이 다른 서비스의 사용자 데이터를 접근할 수 있도록 하는 개방형 위임 인증 표준입니다.
이해하기 OAuth
OAuth는 통합에서 중요한 문제를 해결합니다. 앱 A가 앱 B에 있는 내 데이터에 접근하려면 내 앱 B 비밀번호를 앱 A에 주어야 할까요? 비밀번호를 공유하는 것은 위험합니다. 앱 A가 해킹되면 앱 B의 정보도 위험하기 때문이죠. OAuth는 인증 토큰 방식을 통해 더 안전한 대안을 제공합니다. OAuth의 흐름은 다음과 같습니다. GAIA에서 'Gmail 연결'을 클릭하면 구글의 인증 페이지로 이동하고, GAIA가 요청하는 구체적인 권한(이메일 읽기, 발송, 캘린더 관리 등)을 승인하면 구글이 GAIA에 액세스 토큰을 발급합니다. GAIA는 이 토큰으로 내 대신 API를 호출할 수 있고, 비밀번호는 GAIA와 공유하지 않습니다. 현재 표준인 OAuth 2.0은 다양한 상황에 맞는 여러 인증 플로우를 지원합니다: Authorization Code(웹앱 등 가장 안전함), Client Credentials(서버 간 통신), Device Code(브라우저 없는 기기). 대부분의 사용자 중심 통합은 Authorization Code 플로우를 사용합니다. 스코프(Scope)는 OAuth의 핵심 보안 요소입니다. 모든 권한을 한꺼번에 부여하는 것이 아니라 세분화된 권한을 지정할 수 있습니다. 예컨대 GAIA가 '이메일 읽기'만 요청하고 '이메일 삭제'는 요청하지 않을 수 있습니다. 사용자는 부여하는 권한을 명확히 확인하고 언제든 취소할 수 있습니다.
GAIA 활용 방법 OAuth
GAIA는 Gmail, Google Calendar, Slack, Notion, Linear 등 50개 이상의 모든 서드파티 서비스와의 통합에 OAuth 2.0을 사용합니다. 각 서비스별로 GAIA에 필요한 권한을 지정해서 허용하며, GAIA는 사용자의 비밀번호를 절대로 저장하지 않습니다. 모든 OAuth 토큰은 저장 시 암호화되며, 언제든 연결된 계정 설정에서 토큰을 취소할 수 있습니다.
관련 개념
API 통합
API 통합은 서로 다른 소프트웨어 애플리케이션을 API(응용 프로그램 인터페이스)로 연결하여 데이터를 원활하게 공유하고 기능을 연동하는 과정입니다.
셀프 호스팅
셀프 호스팅은 클라우드 기반 서비스 대신, 사용자가 직접 소프트웨어를 본인 소유의 서버나 인프라에 설치해 운영하는 방식으로, 데이터와 설정, 서비스의 가용성까지도 완전한 통제권을 갖게 됩니다.
데이터 주권
데이터 주권은 데이터가 저장된 관할 지역의 법률과 거버넌스가 적용되며, 개인 및 조직이 자신의 데이터가 어디에 저장되고 누가 접근할 수 있는지를 결정할 권리를 가진다는 원칙입니다.
REST API
REST(Representational State Transfer) API는 표준 HTTP 메서드(GET, POST, PUT, DELETE, PATCH)를 사용하여 URL로 식별되는 자원을 접근하고 조작하는 웹 서비스 인터페이스입니다. REST는 예측 가능하고 상호운용성을 높여주는 일련의 아키텍처 규약을 따릅니다.
Webhook
Webhook은 시스템 내에서 사전 정의된 이벤트가 발생할 때마다 지정된 URL로 자동화된 HTTP 요청을 보내는 HTTP 콜백 메커니즘입니다. 이를 통해 서비스 간 실시간 알림과 통합이 폴링 없이 가능합니다.


