Update interactive-login script to use Microsoft Graph API for application retrieval and adjust scopes for Azure Graph

This commit is contained in:
2026-02-03 23:56:09 +01:00
parent a8725a7c22
commit 2645d6c1f4

View File

@@ -3,8 +3,10 @@
import { loginInteractive } from "../src/azure.js"; import { loginInteractive } from "../src/azure.js";
import { config } from "../public-config.js"; import { config } from "../public-config.js";
import { createHash } from "crypto"; import { createHash } from "crypto";
import { Client } from "@microsoft/microsoft-graph-client";
const scopes = ["https://management.azure.com/.default"]; // const scopes = ["https://management.azure.com/.default"];
const scopes = ["https://graph.microsoft.com/.default"];
let token; let token;
@@ -26,3 +28,30 @@ console.log("Access token acquired.");
const hash = createHash("sha256").update(token.accessToken).digest("hex"); const hash = createHash("sha256").update(token.accessToken).digest("hex");
console.log("SHA-256 hash of access token:", hash); console.log("SHA-256 hash of access token:", hash);
console.log("Token expires on:", token.expiresOn); console.log("Token expires on:", token.expiresOn);
const client = Client.init({
authProvider: (done) => {
done(null, token.accessToken);
},
});
let result;
result = await client
.api("/applications")
.filter("displayName eq 'Azure Node Playground Public'")
.get();
const apps = result.value ?? [];
console.log(
`Registered applications with the name 'Azure Node Playground' (${apps.length}):`,
);
if (apps.length !== 1) {
console.error(
"Expected exactly one application with the name 'Azure Node Playground'. Please ensure it is registered in your Azure AD tenant.",
);
process.exit(1);
}
console.log("Application details:", apps[0]);