実際の例として、私は DiscourseConnect を統合する MediaWiki 認証拡張機能の開発に取り組んでいます。これは私の MediaWiki インスタンスにおける唯一のログイン手段となる予定です。
私の知る限り、以下の 2 つの選択肢があります:
-
SessionProvider を実装し、DiscourseConnect のコールバックからユーザーデータを取得して、それを直接 MediaWiki のセッションに設定する方法。
-
PrimaryAuthenticationProvider を実装し、DiscourseConnect のコールバックからユーザーデータを取得するものの、MediaWiki システム内で独自のユーザーを作成する方法。
オプション 1 は SSO の実装に、オプション 2 は「Google でログイン」に似ていると思います。
私が知る限り、オプション 1 の唯一の欠点は、そこから脱出することが難しく、MediaWiki に認証情報を保存しない場合、どのように移行してローカルログインを有効化するか想像がつかない点です。もしかすると、ユーザー認証情報をどこかに保存できるかもしれません。
どちらのオプションを選ぶべきでしょうか?
ありがとうございます。