OpenConnector용 Slack OAuth 앱 생성
OpenConnector가 slack 서비스를 통해 Slack 대화를 읽거나, 사용자를 나열하거나, 메시지를 보내거나, 파일을 업로드하거나, 리액션을 관리해야 할 때 Slack OAuth 앱을 사용합니다.
OpenConnector 서비스
| 서비스 ID | 제공자 | 인증 유형 |
|---|---|---|
slack | Slack | OAuth2 |
OpenConnector의 Slack 제공자는 Slack OAuth v2를 사용하며 channels:read, groups:read, im:read, mpim:read, 기록 스코프, 파일 스코프, users:read, chat:write, im:write, 리액션 스코프와 같은 Slack 스코프를 요청합니다.
사전 요구 사항
- 실행 중인 OpenConnector 런타임.
- 대상 워크스페이스의 Slack 앱을 생성하거나 관리할 수 있는 권한.
- Slack 워크스페이스에 앱을 설치할 수 있는 권한 또는 설치를 승인할 수 있는 워크스페이스 소유자/관리자에 대한 접근 권한.
- 사용자가 브라우저에서 여는 OpenConnector 오리진(예:
http://localhost:3000또는https://connect.example.com).
1단계: OpenConnector 콜백 URL 설정
OpenConnector 오리진 뒤에 /oauth/callback을 추가하여 콜백 URL을 구성합니다.
로컬 테스트에는 http://localhost:3000/oauth/callback를 사용합니다. Slack에서 로컬 콜백 URL을 허용하지 않으면 HTTPS 터널 또는 공용 도메인을 통해 OpenConnector를 노출하고, OOMOL_CONNECT_ORIGIN을 설정한 후 재시작하고, https://connect.example.com/oauth/callback와 같은 공용 콜백 URL을 사용합니다.
2단계: Slack 앱 생성
- 새 앱을 생성합니다.
- 개발 또는 테스트할 워크스페이스를 선택합니다.
- OAuth & Permissions를 엽니다.
- 리디렉션 URL 아래에 정확한 OpenConnector 콜백 URL을 추가합니다.
- OpenConnector 작업에 필요한 봇 토큰 스코프를 추가합니다.
- 앱 설정을 저장합니다.
Slack의 OAuth 개요는 OAuth로 설치이며, Slack의 스코프 참조는 스코프입니다.
3단계: 클라이언트 자격 증명 복사
Slack 앱의 Basic Information을 열고 다음을 복사합니다.
| Slack 값 | OpenConnector 필드 |
|---|---|
| Client ID | clientId |
| Client Secret | clientSecret |
봇 토큰을 OAuth 클라이언트 시크릿으로 사용하지 마세요. OpenConnector는 OAuth 흐름을 시작하고 권한 부여 후 생성된 Slack 자격 증명을 저장합니다.
4단계: OpenConnector에 Slack 클라이언트 저장
OpenConnector 웹 콘솔을 사용합니다:
- OpenConnector 웹 콘솔(예:
http://localhost:3000)을 엽니다. - Providers를 열고 Slack을 선택합니다.
- Configure OAuth Client 또는 Edit OAuth Client를 선택합니다.
- Slack 클라이언트 ID와 클라이언트 시크릿을 붙여넣습니다.
- Save OAuth Client를 선택합니다.
5단계: 연결 및 테스트
OAuth 클라이언트를 저장한 후 Slack 제공자 페이지에서 Connect를 선택합니다. Slack 워크스페이스를 선택하고, 앱을 승인하고, OpenConnector로 돌아와 제공자 페이지에 워크스페이스가 연결됨으로 표시되는지 확인합니다.
저위험 테스트 작업에는 slack.list_conversations, slack.list_channels, slack.list_users이 있습니다.
문제 해결
| 증상 | 확인할 사항 |
|---|---|
| Slack이 리디렉션 URL을 거부함 | Slack 리디렉션 URL이 <openconnector-origin>/oauth/callback인지 확인합니다. 설정에 HTTPS가 필요하면 HTTPS 공용 오리진을 사용하고 OOMOL_CONNECT_ORIGIN를 설정합니다. |
| 앱을 설치할 수 없음 | 워크스페이스에서 앱 설치를 제한하는 경우 Slack 워크스페이스 소유자 또는 관리자에게 앱 승인을 요청합니다. |
| 채널이 표시되지 않음 | 공개 및 비공개 채널 가시성은 스코프, Slack 워크스페이스 정책, 앱의 채널 접근 권한 여부에 따라 달라집니다. 필요할 때 앱을 비공개 채널에 초대합니다. |
| 메시지 작업 실패 | 앱에 chat:write과 같은 쓰기 스코프가 있고 대상 대화에 접근할 수 있는지 확인합니다. |
| 스코프 변경이 적용되지 않음 | 스코프 변경 후 Slack을 재설치하거나 다시 연결하여 연결된 자격 증명이 새 권한을 받도록 합니다. |
Wanta