슬랙 연동할 때 반드시 워크 스페이스가 먼저 생성되어야 한다는 문제 해결하기
처음 계획은 슬랙으로 로그인을 해서 스터디 그룹원들에게 각각 워크스페이스를 생성해 주려고 했지만 슬랙 연동 oauth를 시도해보다가 문제점을 발견했다.
위에 사진처럼 클라이언트 Id를 발급받는 과정에서 워크스페이스를 선택해야 했다. 우선 가지고 있는 워크스페이스로 클라이언트 Id를 발급받았고 연동해보았다.
로그인 버튼을 누르니 위와 같이 하나의 워크스페이스에 사용자가 가입이 되어 있어야 슬랙 로그인 연동이 가능한 것이었다. (루비콘 워크스페이스에 가입이 안 된 사용자라면 권한이 없다고 나온다.) 즉, 하나의 워크스페이스에 하나의 이메일이 종속되어 있고 각 워크스페이스마다 다른 계정이라고 봐도 무방하다. 그것도 그럴 것이 슬랙은 워크스페이스마다 이메일이 존재한다. 이러한 문제점을 팀원들에게 공유했고 회의가 이루어졌다.
3가지 방법을 고민했다.
문제점 : 사용자가 늘어나면 슬랙 사용 제한이 따를 것이며 관리가 어려울 수 있다. 또한 서로 알지 못하는 사용자가 같은 워크스페이스에 존재하여 여러 가지 문제점이 따를 수 있다. (dm이 온다든지 누가 가입했는지 정보를 알 수 있다.) 또한 각 스터디 채널마다 사용자를 어떻게 자연스럽게 가입시킬 수 있을까?
문제점 : 슬랙 사용이 어렵고 복잡한데 사용자가 과연 스스로 이 과정을 이탈 없이 할까?
문제점 : 우리 서비스의 장점이 부각되지 않고 평범한 서비스가 되어 메리트가 없다.
무엇보다 가장 문제점은 우리 서비스에서 슬랙 서비스로 이동 과정에서 우리 서비스로 다시 돌아올 수가 없었다. 리다이렉트도 안되며 사용자가 직접 우리 사이트로 다시 접속을 해야 한다. 이 과정에서 이탈이 발생할 수도 있을 것이라고 생각했다.
-> 즉 자연스럽게 이동 후 다시 우리 사이트로 돌아올 수 있는 방법을 생각해야 한다.
슬랙 invite API로 사용자에게 자연스럽게 워크스페이스에 가입시킬수 있는 방법을 이용하여 1번 방법으로 선택했다.
사용자(스터디 리더) | 서버 | 슬랙 |
---|---|---|
받은 이메일과 동일한 이메일을 가진 두잇두잇유저를 검색하고, 가장 최근에 생성한 스터디 정보를 슬랙봇에게 반환 | ||
로딩 | 스터디 개설 API로 유저의 스터디 정보를 받음 | |
로딩 | 스터디 생성, 슬랙 invite API 호출, 두잇두잇 슬랙 워크스페이스 스터디 명으로 채널 개설 | |
로딩 | 위 작업 성공 시 200 ok 응답 | |
두잇두잇 페이지에서 스터디 개설 정보를 입력 | ||
개설하기 버튼 클릭 | ||
이메일에서 초대 메일을 확인해보라는 문구 확인 | ||
자신의 이메일로 이동 후 초대 메일에서 Join Now 클릭 | ||
슬랙으로 이동 | ||
두잇두잇 슬랙봇이 team_join 이벤트로 새로운 유저의 Join을 감지함 | ||
새로 조인한 유저의 Email 주소로 서버에 API 요청 | ||
스터디 정보를 받아서 알맞은 채널로 해당 유저를 초대함 | ||
추가적인 가이드라인을 제시 | ||
두잇두잇에서 스터디가 제대로 생성되었는지 확인해봐! | ||
두잇두잇에서 스터디가 제대로 생성되었는지 확인 |