electron-auth0-login
Version:
Provides Auth0 authentication services for your Electron.js application
40 lines (34 loc) • 866 B
text/typescript
import { library } from './library';
import { Config } from './types';
import { mergeAdapters } from './framework';
import {
authAPI,
authWindow,
cryptography,
logger,
keytarRefreshTokens,
customRefreshTokens,
tokens
} from './adapters';
export function auth0Login (config: Config) {
let adapter = mergeAdapters(
authAPI,
authWindow,
cryptography,
logger,
tokens
);
if (config.refreshTokens && 'keytar' in config.refreshTokens) {
adapter = mergeAdapters(
adapter,
keytarRefreshTokens
);
}
if (config.refreshTokens && 'store' in config.refreshTokens) {
adapter = mergeAdapters(
adapter,
customRefreshTokens
);
}
return library(adapter, config);
}