Update interactive-login script to use Microsoft Graph API for application retrieval and adjust scopes for Azure Graph
This commit is contained in:
@@ -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;
|
||||||
|
|
||||||
@@ -15,9 +17,9 @@ try {
|
|||||||
scopes,
|
scopes,
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error("Login failed:", e);
|
console.error("Login failed:", e);
|
||||||
console.error(e.stack);
|
console.error(e.stack);
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log("Access token acquired.");
|
console.log("Access token acquired.");
|
||||||
@@ -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]);
|
||||||
|
|||||||
Reference in New Issue
Block a user