IndieAuth
ウェブサイトに「IndieAuth」認証エンドポイントを実装した。IndieAuthはOAuth2.0ベースの認可プロトコルで、IDにURLを用いるのが特徴。リソースへのアクセス許可を与えるのが「認可」だが、うちはそこまで対応しておらず、ここでは「認証」についてだけ書く。
用例から平たくいえば、各種ソーシャルメディアなどの第三者アカウントでログインさせるシステムがよくあるが、あの仕組みを実現しているのがOAuth。で、そうした第三者アカウントの一種として、われわれ自身の個人サイトを使えるようにするのがIndieAuthだ。その際、認証処理は当該サイトが自ら担わねばならない。この自主性・独立性が「Indie」たるゆえん。
IndieAuthはインディーウェブを象徴する標準技術のひとつで、さまざまなライブラリーやプラグインをすでに有志が開発してくれている。なので実装は簡単だった。静的なサイトに動的な口を久々に設けたため、CDN・キャッシュ各層・セキュリティーの調整にちょっぴり手間取ったくらい。自分しか使わないから見た目なども気にしない。
難点は、IndieAuthによるログインに対応したシステムが少ないこと。OAuthを導入済みなら対応はたやすいはずだが、なにしろIndieAuthは需要が少ないどころか、ろくに認知すらされていないのだから仕方ない(W3Cに提出されたものの勧告に至っていない)。もちろん、インディーウェブ関連のシステムやコミュニティーは軒並み対応しており、自分の行動範囲内では活用できる。だからこそ実装した。
しかし考えてみると、OAuth自体もともとそういうものかもしれない。技術そのものは汎用とはいえ、実際のシステムが対応する相手は常に限られている。あるシステムはフェイスブックとX、あるシステムはグーグルとGitHub。あえてにしろやむなくにしろ、目的にかなう特定のクラスターを厳選しているのだ。さもなければ、ログイン画面が無数のブランドアイコンで埋め尽くされてしまう(レーシングカーになぞらえて「NASCAR問題」などと呼ばれる)。IndieAuthがほぼコミュニティー内でしか使えない状況も、したがって半ば当然ではある。が、その目指す世界を考えると、半ばやはり物足りない。