この一週間のこと。 先週までにDiscord のOAuth 2.0の仕組みを使ってDiscordの外のアプリケーションのサインアップ、ログインをサーバーを用意せずに無料で使えるリソースで作ってみる、っていうのをやってた。 先週、動くものができた。できたけど、動くものを作ってみたかっただけで自分では使い道がない。作る途中で出会った小さなtipsがいくつかあって、それを誰かに話したいと思っていた。 このブログや、zennやqiitaなどに書いてみようとも思っていた。んで、いざ動くものができてみたら、もう興味を失ってしまって、何もできなくなってしまった。いつもの突然のブロッキング現象だ。 メモは書きながら作業していたけど、ここでは、今思いつくだけのことを確認をとらずに書き出してみる。
- discordはopenid connectに対応していないので、oauthのアクセストークンで@me apiにアクセスできることをもって認証とする
- なので、アプリケーションにはサーバーサイドの処理が必要
- サーバーサイドでの Authorization Code Flow でアクセストークンを受け取る
- なので、アプリケーションにはサーバーサイドの処理が必要
- discordの OAuth2.0 エンドポイントは undocumented だけど PKCE に対応している
- PKCE を利用すれば、client secret は不要
- IDaaSとしてのFirebase Authentication
- Firebase Functionsは従量制課金のプランでないと使えない
- ...