Nuxt+Auth Module+Qiita API認証を諦めた

OAuth認証をちょっと使ってみたくなったので、Nuxt+Auth Moduleを使ってちょっと動かしてみた。

Nuxt.js - ユニバーサル Vue.js アプリケーション

Auth Module | Auth Module

主に参考にしたのは以下のサイト。

Nuxt.js と auth-module で OAuth 認証によるログインを実装する - プらチナの日記

GitHubOAuth認証は特に問題なく実装できたので、ついでにQiita APIの認証を試そうとしたが、ここで詰まってしまった。

Qiita API v2 documentation - Qiita:Developer

Qiita APIでアクセストークンを発行する場合一度codeを発行し、このコードを使ってアクセストークン発行用のURLにリクエストを送信するらしい。
その流れ自体はよくあるようだしAuth Moduleにもそれに対応するための仕組みがあるが、Auth Moduleがアクセストークン発行時にapplication/x-www-form-urlencodedでリクエストを送信するのに対し、Qiita API認証のアクセストークン発行処理はリクエストをapplication/jsonでしか受け付けないらしく、これのせいでアクセストークン発行処理に失敗していた。

本当はAuth Module側でアクセストークン発行時の処理を修正できれば良いのだが、この処理のみ修正するようなやり方が分からなかった。
Auth Moduleはリクエスト送信にaxiosを使用しているようなので、何とかできないものかとonRequestでリクエストをいじったりしてみたが、こちらもうまくいっていない。
独自のスキーマ処理を実装してやればたぶん行けそうな気はするが、そこまでするなら初めから認証処理を自分で実装したほうがいい気がしてきたのでやめた。
出来ればQiita側の処理がJSONでなくても受け入れられるようになってくれればいいのだが多分無理なんだろう。