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 | 제공자 |
|---|---|
gmail | Gmail |
googledrive | Google Drive |
googlecalendar | Google Calendar |
googlesheets | Google Sheets |
googledocs | Google Docs |
googleslides | Google Slides |
youtube | YouTube |
google_analytics | Google Analytics |
google_bigquery | Google 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 프로젝트 준비
- 프로젝트를 생성하거나 선택합니다.
- APIs & Services를 엽니다.
- Gmail API, Google Drive API, Google Calendar API, Google Sheets API, YouTube Data API, Google Analytics Data API 또는 BigQuery API 등 OpenConnector 서비스에 필요한 API를 사용 설정합니다.
- OAuth consent screen을 열고 Google이 요청할 때 앱 이름, 지원 이메일, 잠재고객, 연락처 정보, 테스트 사용자를 구성합니다.
- OpenConnector 서비스에 필요한 스코프를 추가하거나, OAuth 요청이 시작될 때 Google이 동의 과정에서 표시하도록 합니다.
Google은 민감하거나 제한된 스코프를 광범위한 프로덕션에서 사용하기 전에 검증을 요구할 수 있습니다. 로컬 사용 또는 내부 테스트의 경우 Google 계정 유형에서 허용하는 테스트 또는 내부 상태로 앱을 유지하세요.
3단계: OAuth 자격 증명 생성
APIs & Services > Credentials에서:
- Create credentials를 선택합니다.
- OAuth client ID를 선택합니다.
- Web application을 선택합니다.
- 승인된 리디렉션 URI 아래에 정확한 OpenConnector 콜백 URL을 추가합니다.
- 클라이언트를 생성합니다.
- 클라이언트 ID와 클라이언트 보안 비밀을 복사합니다.
Google의 공식 OAuth 가이드는 Using OAuth 2.0 for Web Server Applications입니다.
4단계: OpenConnector에 클라이언트 저장
연결하려는 서비스의 OpenConnector 웹 콘솔을 사용하세요.
http://localhost:3000등 OpenConnector 웹 콘솔을 엽니다.- Providers를 열고 Gmail 또는 다른 Google 제공자를 선택합니다.
- Configure OAuth Client 또는 Edit OAuth Client를 선택합니다.
- Google 클라이언트 ID와 클라이언트 보안 비밀을 붙여넣습니다.
- Save OAuth Client를 선택합니다.
동일한 Google OAuth 클라이언트를 다른 Google 제공자에 사용하려면 각 Google 제공자 페이지에서 이 단계를 반복하세요.
5단계: 연결 및 테스트
OAuth 클라이언트를 저장한 후 Google 제공자 페이지에서 Connect를 선택합니다. Google 동의를 완료하고 OpenConnector로 돌아와 제공자 페이지에 계정이 연결됨으로 표시되는지 확인합니다.
Gmail의 경우 위험도가 낮은 테스트 작업에는 gmail.get_profile 및 gmail.list_labels이(가) 있습니다. 작업을 실행하기 전에 콘솔 작업 세부 정보를 사용하여 정확한 입력을 확인하세요.
문제 해결
| 증상 | 확인할 사항 |
|---|---|
redirect_uri_mismatch | Google에 전송된 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을(를) 설정하세요.
Wanta