1
0
mirror of https://github.com/bitwarden/directory-connector synced 2025-12-05 23:53:21 +00:00

support onelogin in cli

This commit is contained in:
Kyle Spearrin
2020-03-13 09:04:40 -04:00
parent 2640e8c890
commit c48acf6038
2 changed files with 17 additions and 1 deletions

View File

@@ -14,6 +14,7 @@ import { AzureConfiguration } from '../models/azureConfiguration';
import { GSuiteConfiguration } from '../models/gsuiteConfiguration'; import { GSuiteConfiguration } from '../models/gsuiteConfiguration';
import { LdapConfiguration } from '../models/ldapConfiguration'; import { LdapConfiguration } from '../models/ldapConfiguration';
import { OktaConfiguration } from '../models/oktaConfiguration'; import { OktaConfiguration } from '../models/oktaConfiguration';
import { OneLoginConfiguration } from '../models/oneLoginConfiguration';
import { SyncConfiguration } from '../models/syncConfiguration'; import { SyncConfiguration } from '../models/syncConfiguration';
import { ConnectorUtils } from '../utils'; import { ConnectorUtils } from '../utils';
@@ -24,6 +25,7 @@ export class ConfigCommand {
private gsuite = new GSuiteConfiguration(); private gsuite = new GSuiteConfiguration();
private azure = new AzureConfiguration(); private azure = new AzureConfiguration();
private okta = new OktaConfiguration(); private okta = new OktaConfiguration();
private oneLogin = new OneLoginConfiguration();
private sync = new SyncConfiguration(); private sync = new SyncConfiguration();
constructor(private environmentService: EnvironmentService, private i18nService: I18nService, constructor(private environmentService: EnvironmentService, private i18nService: I18nService,
@@ -51,6 +53,9 @@ export class ConfigCommand {
case 'okta.token': case 'okta.token':
await this.setOktaToken(value); await this.setOktaToken(value);
break; break;
case 'onelogin.secret':
await this.setOneLoginSecret(value);
break;
default: default:
return Response.badRequest('Unknown setting.'); return Response.badRequest('Unknown setting.');
} }
@@ -70,7 +75,7 @@ export class ConfigCommand {
private async setDirectory(type: string) { private async setDirectory(type: string) {
const dir = parseInt(type, null); const dir = parseInt(type, null);
if (dir < DirectoryType.Ldap || dir > DirectoryType.Okta) { if (dir < DirectoryType.Ldap || dir > DirectoryType.OneLogin) {
throw new Error('Invalid directory type value.'); throw new Error('Invalid directory type value.');
} }
await this.loadConfig(); await this.loadConfig();
@@ -102,6 +107,12 @@ export class ConfigCommand {
await this.saveConfig(); await this.saveConfig();
} }
private async setOneLoginSecret(secret: string) {
await this.loadConfig();
this.oneLogin.clientSecret = secret;
await this.saveConfig();
}
private async loadConfig() { private async loadConfig() {
this.directory = await this.configurationService.getDirectoryType(); this.directory = await this.configurationService.getDirectoryType();
this.ldap = (await this.configurationService.getDirectory<LdapConfiguration>(DirectoryType.Ldap)) || this.ldap = (await this.configurationService.getDirectory<LdapConfiguration>(DirectoryType.Ldap)) ||
@@ -112,6 +123,8 @@ export class ConfigCommand {
DirectoryType.AzureActiveDirectory)) || this.azure; DirectoryType.AzureActiveDirectory)) || this.azure;
this.okta = (await this.configurationService.getDirectory<OktaConfiguration>( this.okta = (await this.configurationService.getDirectory<OktaConfiguration>(
DirectoryType.Okta)) || this.okta; DirectoryType.Okta)) || this.okta;
this.oneLogin = (await this.configurationService.getDirectory<OneLoginConfiguration>(
DirectoryType.OneLogin)) || this.oneLogin;
this.sync = (await this.configurationService.getSync()) || this.sync; this.sync = (await this.configurationService.getSync()) || this.sync;
} }
@@ -122,6 +135,7 @@ export class ConfigCommand {
await this.configurationService.saveDirectory(DirectoryType.GSuite, this.gsuite); await this.configurationService.saveDirectory(DirectoryType.GSuite, this.gsuite);
await this.configurationService.saveDirectory(DirectoryType.AzureActiveDirectory, this.azure); await this.configurationService.saveDirectory(DirectoryType.AzureActiveDirectory, this.azure);
await this.configurationService.saveDirectory(DirectoryType.Okta, this.okta); await this.configurationService.saveDirectory(DirectoryType.Okta, this.okta);
await this.configurationService.saveDirectory(DirectoryType.OneLogin, this.oneLogin);
await this.configurationService.saveSync(this.sync); await this.configurationService.saveSync(this.sync);
} }
} }

View File

@@ -184,6 +184,7 @@ export class Program extends BaseProgram {
writeLn(' azure.key - The Azure AD secret key.'); writeLn(' azure.key - The Azure AD secret key.');
writeLn(' gsuite.key - The G Suite private key.'); writeLn(' gsuite.key - The G Suite private key.');
writeLn(' okta.token - The Okta token.'); writeLn(' okta.token - The Okta token.');
writeLn(' onelogin.secret - The OneLogin client secret.');
writeLn(''); writeLn('');
writeLn(' Examples:'); writeLn(' Examples:');
writeLn(''); writeLn('');
@@ -194,6 +195,7 @@ export class Program extends BaseProgram {
writeLn(' bwdc config azure.key <key>'); writeLn(' bwdc config azure.key <key>');
writeLn(' bwdc config gsuite.key <key>'); writeLn(' bwdc config gsuite.key <key>');
writeLn(' bwdc config okta.token <token>'); writeLn(' bwdc config okta.token <token>');
writeLn(' bwdc config onelogin.secret <secret>');
writeLn('', true); writeLn('', true);
}) })
.action(async (setting, value, cmd) => { .action(async (setting, value, cmd) => {