-
Slack api 호출시 account_inactive 에러가 발생하는 경우TECH/Java 2022. 2. 5. 09:19
로컬에선 슬랙 API를 정상적으로 호출하던 동작하던 코드가 GitHub에 코드를 올리고, GitHub Action을 통해 실행을 시키면 자꾸 에러가 나는 경우가 있었다.
Slack API 문서에 의하면 삭제된 사용자나 워크스페이스에 대한 토큰을 사용한 경우에 발생하는 에러라고 하는데 이런 케이스도 아니였다.
account_inactive
Authentication token is for a deleted user or workspace when using a bot token
https://api.slack.com/methods/auth.test#errors- 서버 호출
curl -X POST https://{your-app-url}/v1/message {"message":"account_inactive","date":"2022-02-05T00:02:17.093+00:00"}
- 서버 로그
2022-02-05T00:02:17.010419+00:00 app[web.1]: 2022-02-05 09:02:17.008 ERROR 4 --- [io-26857-exec-1] com.slack.api.methods.impl.TeamIdCache : Got an unsuccessful response from auth.test API (error: account_inactive) 2022-02-05T00:02:17.091316+00:00 app[web.1]: 2022-02-05 09:02:17.091 ERROR 4 --- [io-26857-exec-1] com.yud.godlife.SlackService : account_inactive
한참 헤매다가 뒤늦게 원인을 찾았다.
그 이유는 바로 토큰이 GitHub에 노출되었기 때문이다.Slack 가입시에 사용한 메일로 다음과 같은 메일이 잔뜩 도착해있었다.
메일을 열어보니 다음과 슬랙 토큰이 외부에 노출되어 비활성화 시켰다는 내용이다. 친절하게 어디서 노출되었는지 URL 까지 알려준다.
네이버 메일 같은 경우는 별도로 메일 알림을 받고 있지 않아서 이 상황을 한참 나중에 발견했다.
더군다나 이렇게 토큰이 만료 되더라고 Slack App 관리 페이지를 들어가도 토큰이 노출되었다라거나 재발급을 받으라는 알림 등이 나타나지 않아서 원인을 찾는데 한참 걸렸다.(메일을 보내는 김에 앱 관리 페이지에서도 사용자에게 노티를 줬으면 좋겠다)
GitHub Action을 통해 애플리케이션 호출을 테스트 하느라 임시로 토큰까지 한번에 레파지토리에 올렸더니 이런 상황이 생겼다.
임시 토큰이더라도 공개된 웹사이트에 토큰을 올리지 말자. 바로 비활성화 되어 다시 토큰을 발급해야하는 번거로움이 생긴다.'TECH > Java' 카테고리의 다른 글
Singleton Pattern이란? (0) 2022.12.16 Managed Language 자바, 자바는 어떻게 힙에서 제거할 객체를 알아낼까? (0) 2022.11.29 Java String Pool이란? (0) 2022.11.17 Mono.zipWith 혹은 Mono.zipWhen이 호출되지 않을 때 (0) 2022.10.23 JVM 메모리 - heap, stack (0) 2022.08.07 - 서버 호출