From 714d274b203df7190a19b128f671d42ef28c5fe6 Mon Sep 17 00:00:00 2001 From: Slawomir Koszewski Date: Wed, 4 Feb 2026 20:50:01 +0100 Subject: [PATCH] Refactor interactive-login script to import loginInteractive from sk-az-tools and enhance service principal retrieval --- bin/interactive-login.mjs | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/bin/interactive-login.mjs b/bin/interactive-login.mjs index a884b23..c212712 100755 --- a/bin/interactive-login.mjs +++ b/bin/interactive-login.mjs @@ -1,6 +1,6 @@ #!/usr/bin/env node -import { loginInteractive } from "../src/azure.js"; +import { loginInteractive } from "sk-az-tools/azure"; import { config } from "../public-config.js"; import { createHash } from "crypto"; import { Client } from "@microsoft/microsoft-graph-client"; @@ -54,4 +54,29 @@ if (apps.length !== 1) { process.exit(1); } -console.log("Application details:", apps[0]); +console.log(`Application ID: ${apps[0].appId}`); + +// Let's find the service principals for this application +result = await client + .api("/servicePrincipals") + .filter(`appId eq '${apps[0].appId}'`) + .get(); + +const sps = result.value ?? []; +console.log( + `Service principals for the application (${sps.length}):`, +); + +if (sps.length === 0) { + console.error( + "No service principals found for the application. Please ensure the application is properly configured in your Azure AD tenant.", + ); + process.exit(1); +} + +sps.forEach((sp, index) => { + console.log(`Service Principal ${index + 1}:`); + console.log(` ID: ${sp.id}`); + console.log(` App ID: ${sp.appId}`); + console.log(` Display Name: ${sp.displayName}`); +});