認証モジュールのカスタマイズについて
目次
概要
MUN サーバのデフォルト設定は「匿名認証」
MUN テストサーバ、および、オンプレミス版 MUN サーバのデフォルト設定では、認証手続きを設けてはいません。
デフォルト設定上、MUN サーバから見れば「誰でも事前登録なしの匿名アカウント」が自由に接続できます。
同一認証IDによる同時接続者人数の上限を制限するために、MonobitAuthenticatioCode が用意されていますが、
実のところ、これはあくまでクライアントサイドで設定された、任意の32桁のGUIDに過ぎません。
また、MonobitEngine.MonobitNetwork.playerName プロパティ でプレイヤー名を個別に設定することは出来るものの、
これは MUN クライアントが自由に設定できるもので、MUN サーバがこの名前について接続可否を判断することはありません。
よって、デフォルト設定の MUN サーバは「どういった『アプリケーション』が接続してきているか」を認識することはできるものの、
「どういった『ユーザー』が接続してきているか」を認識していません。
MUN サーバに「非匿名の認証モジュール」を追加する
この「匿名認証」は、ゲームサーバとしての運用を考えた場合、多くの弊害を生みだします。
例えば MUN サーバのシステムを使い、かつ自前のデータベースサーバを設置し、サーバサイドでデータ管理をするにも、
「登録されたアカウントユーザー情報との紐づけ」が出来ないため、これが大きな障害となり得ます。
よりセキュアなサーバサイド構築を行なう上で、非匿名の認証モジュールの追加が課題となるでしょう。
MUN サーバでは、比較的組み込みが容易な「Web認証サーバを介した、非匿名の認証モジュール」の追加が可能です。
ここではその手法について、簡単に触れてみましょう。