@equinor/fusion-framework-module-msal-node
Version:
Fusion Framework module for secure Azure AD authentication in Node.js using MSAL. Supports interactive, silent, and token-only authentication modes with encrypted token storage.
33 lines • 1.46 kB
JavaScript
import { AuthConfigurator } from './AuthConfigurator.js';
import { AuthProvider } from './AuthProvider.js';
import { AuthTokenProvider } from './AuthTokenProvider.js';
import { AuthProviderInteractive } from './AuthProviderInteractive.js';
import { AuthProviderDeviceCode } from './AuthProviderDeviceCode.js';
export const module = {
name: 'auth',
configure: () => new AuthConfigurator(),
initialize: async (args) => {
const config = await args.config.createConfigAsync(args);
// Build the appropriate provider implementation for the configured auth mode
switch (config.mode) {
case 'token_only':
return new AuthTokenProvider(config.accessToken);
case 'interactive': {
const { client, server } = config;
// Interactive mode requires a local server to receive the OAuth redirect
if (!server) {
throw new Error('Server configuration is required for interactive mode');
}
return new AuthProviderInteractive(client, { server });
}
case 'device_code': {
const { client, deviceCodeCallback } = config;
return new AuthProviderDeviceCode(client, { deviceCodeCallback });
}
default:
return new AuthProvider(config.client);
}
},
};
export default module;
//# sourceMappingURL=module.js.map