Skip to content

CTFtime#

OAuth#

To allow teams to login via their CTFtime teams, you need an event on CTFtime. You can register for one here.

In the OAuth endpoint field on the event editing page, enter:

https://your-rctf.example.com/integrations/ctftime/callback

Copy the client ID and client secret and place them in ctftime.clientId and ctftime.clientSecret or RCTF_CTFTIME_CLIENT_ID and RCTF_CTFTIME_CLIENT_SECRET.

ctftime:
  clientId: 123
  clientSecret: abcd

Exporting Leaderboard#

After the CTF is over, you can export the CTFtime leaderboard format by using the https://your-rctf.example.com/api/v1/integrations/ctftime/leaderboard endpoint using credentials that have perms set to at least 4. You can grab the authentication token by visiting your rCTF instance's home page using the previously mentioned credentials and running localStorage.getItem('token') in the browser console. Then, you can replace [TOKEN] with the token and run the following command to get the leaderboard export:

curl https://your-rctf.example.com/api/v1/integrations/ctftime/leaderboard \
  -H "Authorization: Bearer [TOKEN]"