
7.3
プラグインの接続
243
タリングの影響にさらされやくすなります。
7.3.4.2
サービスロケータを用いたサービスの公開
モジュールなりすまし同様、アプリケーションのコンポーネントをすべてプラグインに公開したいな
らサービスロケータも良い選択肢なのですが、さらに良いことには、プラグインがサービスロケータを
使って自分のサービスをアプリケーションや他のプラグインにさえ公開できるという、非常に大きな利
点があります。
それでは先ほど作成したログアウト用プラグインを、サービスロケータを使用して書き直してみま
しょう。ファイル
node_modules/authsrv-plugin-logout/index.js
内のプラグインのメインモ
ジュールを書き換えます(
06_plugin_service_locator/
)。
module.exports = (serviceLocator) => {
const aut
hService = serviceLocator.get('authService');
const db = serviceLocator.get('db');
const app = serviceLocator.get('app');
const tokensDb = db.sublevel('tokens');
const oldLogin = authService.login;
authService.login = (username, password, callback) ...