개요
해당 기능은 CTFd를 사용하는 문제 사이트를 대상으로 문제 인식부터 채널 등록 등을 자동으로 수행하기 위해서 구현했다.
CTFd 인증 방식
비로그인 방식
여러 가지가 존재하는데 가장 대표적인 것은 비로그인 방식임 로그인 안해도 바로 ctfd 접속해서 문제 해결 가능
API Token
로그인한 사용자가 API Token 을 발급받아서 요청마다 사용하는 방식임
Settings → Access Tokens → Generate 으로 생성 가능하고 이거를 Discord 에 입력해서 사용 가능함

Session Cookie
세션 쿠키가 발급되면 해당 쿠키를 요청에 포함해서 접근하는 방식
구현
자동 문제 감지 및 채널 등록

다음과 같이 연동 설정을 클릭하면 어떤 인증 방식을 사용할지 정할 수 있고

각 용도에 맞게 URL 과 토큰을 넣으면 된다. 이후에 지금 동기화를 누르면 다음과 같이 자동으로 문제가 불러와진다. 테스트 사이트는 https://demo.ctfd.io/ 공식 데모 사이트로 진행했다.

