문서 둘러보기

OpenConnector용 Google OAuth 앱 생성

자체 호스팅 OOMOL OpenConnector 런타임이 사용자의 Google 계정을 연결해야 할 때 Google OAuth 앱을 사용하세요. 하나의 Google Cloud 프로젝트에서 Gmail, Google Drive, Google Calendar, Google Sheets, Google Docs, Google Slides, YouTube, Google Analytics, Google BigQuery 및 기타 Google API 제공자가 사용하는 OAuth 클라이언트를 보관할 수 있습니다.

OpenConnector 서비스

일반적인 Google OAuth 서비스 ID는 다음과 같습니다.

서비스 ID제공자
gmailGmail
googledriveGoogle Drive
googlecalendarGoogle Calendar
googlesheetsGoogle Sheets
googledocsGoogle Docs
googleslidesGoogle Slides
youtubeYouTube
google_analyticsGoogle Analytics
google_bigqueryGoogle BigQuery

각 서비스는 OpenConnector에 자체 OAuth 클라이언트 구성을 저장합니다. 클라이언트가 동일한 리디렉션 URI와 필요한 API 및 스코프를 허용하는 경우 동일한 Google OAuth 클라이언트 ID와 클라이언트 보안 비밀을 여러 Google 서비스에 재사용할 수 있습니다.

사전 요구 사항

  • 실행 중인 OpenConnector 런타임.
  • Google Cloud 프로젝트에 접근할 수 있는 Google 계정.
  • Google Cloud에서 OAuth 동의를 구성하고, API를 사용 설정하고, OAuth 자격 증명을 생성할 수 있는 권한.
  • 사용자가 브라우저에서 여는 OpenConnector origin. 예: http://localhost:3000 또는 https://connect.example.com.

1단계: OpenConnector 콜백 URL 설정

로컬 테스트에는 다음을 사용하세요.

http://localhost:3000/oauth/callback

공개 런타임의 경우 OOMOL_CONNECT_ORIGIN을(를) 먼저 설정하고 다음을 사용하세요.

https://connect.example.com/oauth/callback

2단계: Google Cloud 프로젝트 준비

Google Cloud Console에서:

  1. 프로젝트를 생성하거나 선택합니다.
  2. APIs & Services를 엽니다.
  3. Gmail API, Google Drive API, Google Calendar API, Google Sheets API, YouTube Data API, Google Analytics Data API 또는 BigQuery API 등 OpenConnector 서비스에 필요한 API를 사용 설정합니다.
  4. OAuth consent screen을 열고 Google이 요청할 때 앱 이름, 지원 이메일, 잠재고객, 연락처 정보, 테스트 사용자를 구성합니다.
  5. OpenConnector 서비스에 필요한 스코프를 추가하거나, OAuth 요청이 시작될 때 Google이 동의 과정에서 표시하도록 합니다.

Google은 민감하거나 제한된 스코프를 광범위한 프로덕션에서 사용하기 전에 검증을 요구할 수 있습니다. 로컬 사용 또는 내부 테스트의 경우 Google 계정 유형에서 허용하는 테스트 또는 내부 상태로 앱을 유지하세요.

3단계: OAuth 자격 증명 생성

APIs & Services > Credentials에서:

  1. Create credentials를 선택합니다.
  2. OAuth client ID를 선택합니다.
  3. Web application을 선택합니다.
  4. 승인된 리디렉션 URI 아래에 정확한 OpenConnector 콜백 URL을 추가합니다.
  5. 클라이언트를 생성합니다.
  6. 클라이언트 ID와 클라이언트 보안 비밀을 복사합니다.

Google의 공식 OAuth 가이드는 Using OAuth 2.0 for Web Server Applications입니다.

4단계: OpenConnector에 클라이언트 저장

연결하려는 서비스의 OpenConnector 웹 콘솔을 사용하세요.

  1. http://localhost:3000 등 OpenConnector 웹 콘솔을 엽니다.
  2. Providers를 열고 Gmail 또는 다른 Google 제공자를 선택합니다.
  3. Configure OAuth Client 또는 Edit OAuth Client를 선택합니다.
  4. Google 클라이언트 ID와 클라이언트 보안 비밀을 붙여넣습니다.
  5. Save OAuth Client를 선택합니다.

동일한 Google OAuth 클라이언트를 다른 Google 제공자에 사용하려면 각 Google 제공자 페이지에서 이 단계를 반복하세요.

5단계: 연결 및 테스트

OAuth 클라이언트를 저장한 후 Google 제공자 페이지에서 Connect를 선택합니다. Google 동의를 완료하고 OpenConnector로 돌아와 제공자 페이지에 계정이 연결됨으로 표시되는지 확인합니다.

Gmail의 경우 위험도가 낮은 테스트 작업에는 gmail.get_profilegmail.list_labels이(가) 있습니다. 작업을 실행하기 전에 콘솔 작업 세부 정보를 사용하여 정확한 입력을 확인하세요.

문제 해결

증상확인할 사항
redirect_uri_mismatchGoogle에 전송된 URI는 OAuth 클라이언트의 승인된 리디렉션 URI 중 하나와 정확히 일치해야 합니다. <openconnector-origin>/oauth/callback인지 확인하세요.
Google에서 앱을 미검증으로 표시허용된 테스트 사용자로 계속 테스트하거나, 사용 가능한 경우 내부 모드를 사용하거나, 광범위하게 사용하기 전에 Google의 검증 프로세스를 완료하세요.
Google이 새로 고침 토큰을 발급하지 않음계정을 다시 연결하세요. OpenConnector Google 제공자는 제공자 정의에서 새로 고침 토큰을 요구하는 경우 오프라인 접근 및 동의를 요청합니다.
Google 작업에서 권한 부족 메시지 표시Google Cloud에서 필요한 API를 사용 설정하고, 필요한 스코프를 추가하거나 승인한 다음 계정을 다시 연결하세요.
잘못된 Google 계정이 사용됨의도한 Google 계정으로 로그인한 브라우저 프로필에서 다시 연결하세요.

Google 클라이언트 보안 비밀은 보안 비밀 관리자에 보관하고, OpenConnector에 OAuth 클라이언트를 저장하기 전에 OOMOL_CONNECT_ENCRYPTION_KEY을(를) 설정하세요.