【AtCoder】acc、ojでログインできなくなった時の対処法

AtCoderの自動化ツールのAtCoder CLI(acc)、Online Judge Toolsは便利ですが時々ログインすることができなくなります。
その場合はCookieを保存しているファイルをそれぞれ編集しなければloginコマンドでログインすることはできません。
ここではログインするための手順を紹介します。
Cookie情報を取得する
まずはWebブラウザでAtCoderのサイトにアクセスします。
そこで開発者ツールを開き Application > Cookies > https://atcoder.jp を選択します。

そこに表示されるREVEL_SESSION行のValue列の文字をダブルクリックしてすべて選択し、コピーします。

accのsession.jsonファイルの編集
まずはターミナルを開き下記コマンドにより設定ファイルのあるディレクトリのパスを確認します。
acc config-dir
パスが分かったら、その配下にあるsession.jsonをvimなどで開き、REVEL_SESSIONの値を先ほどWebブラウザでコピーしたものに変更して保存します。

以上でaccにログインした状態となります。
ojのcookie.jarファイルの編集
ターミナルで下記コマンドでcookie.jarファイルのパスを確認します。
oj -h

続いてvimなどでファイルを編集していきます。
REVEL_SESSIONの値を先ほどWebブラウザでコピーしたものに変更しますが、セミコロンまでがREVEL_SESSIONの値なので、それ以降のpathなどを誤って削除しないよう注意しましょう。

以上でojにログインした状態となります。
おわりに
一度行えばしばらくログインできるはずなので、面倒ですがログインできなくなったらやってしまいましょう。
手順が雑なのでそのうちもうちょっと詳しくしたいと思ってます。。
また、AtCodeをC++で行うためのDocker環境も作ったりしてます。
興味があれば使ってみてください。
