31 lines
1.2 KiB
TypeScript
31 lines
1.2 KiB
TypeScript
// SPDX-License-Identifier: MIT
|
|
|
|
import { login } from "../../azure/index.ts";
|
|
import { loadPublicConfig } from "../../index.ts";
|
|
|
|
import type { CommandValues } from "./types.ts";
|
|
|
|
export function usageLogin(): string {
|
|
return `Usage: sk-az-tools login [--resources <csv>] [--use-device-code] [--no-browser] [--browser <name>] [--browser-profile <profile>] [global options]
|
|
|
|
Options:
|
|
--resources <csv> Comma-separated resources: graph,devops,arm (default: all)
|
|
--use-device-code Use device code flow instead of interactive flow
|
|
--no-browser Do not launch browser; print interactive URL to stderr
|
|
--browser <name> Browser keyword: brave|browser|browserPrivate|chrome|edge|firefox
|
|
--browser-profile <name> Chromium profile name (e.g. Default, "Profile 1")`;
|
|
}
|
|
|
|
export async function runLoginCommand(values: CommandValues): Promise<unknown> {
|
|
const config = await loadPublicConfig();
|
|
return login({
|
|
tenantId: config.tenantId,
|
|
clientId: config.clientId,
|
|
resourcesCsv: values.resources,
|
|
useDeviceCode: Boolean(values["use-device-code"]),
|
|
noBrowser: Boolean(values["no-browser"]),
|
|
browser: values.browser,
|
|
browserProfile: values["browser-profile"],
|
|
});
|
|
}
|