Compare commits

..

3 Commits

4 changed files with 21 additions and 17 deletions

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "@slawek/sk-az-tools",
"version": "0.7.2",
"version": "0.7.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@slawek/sk-az-tools",
"version": "0.7.2",
"version": "0.7.3",
"license": "MIT",
"dependencies": {
"@azure/identity": "^4.13.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@slawek/sk-az-tools",
"version": "0.7.2",
"version": "0.7.3",
"type": "module",
"files": [
"dist",

View File

@@ -32,14 +32,15 @@ export function getMsalAuthProvider(
};
}
export function getAzureIdentityAuthProvider(
tenantId: string,
clientId: string,
) {
const credential = new DefaultAzureCredential({
tenantId,
managedIdentityClientId: clientId,
});
export function getAzureIdentityAuthProvider(tenantId?: string, clientId?: string) : GraphAuthProvider {
const credentialOptions =
tenantId && clientId
? { tenantId, managedIdentityClientId: clientId }
: undefined;
const credential = credentialOptions
? new DefaultAzureCredential(credentialOptions)
: new DefaultAzureCredential();
const getBearerToken = getBearerTokenProvider(
credential,

View File

@@ -5,18 +5,21 @@ export * from "./app.ts";
export * from "./sp.ts";
import { loadAuthConfig, loadConfig } from "../index.ts";
import { Client } from "@microsoft/microsoft-graph-client";
import { Client, AuthProvider } from "@microsoft/microsoft-graph-client";
import { getMsalAuthProvider, getAzureIdentityAuthProvider } from "./auth.ts";
export async function getGraphClient(): Promise<Client> {
const config = await loadConfig();
let authProvider: AuthProvider;
if (config.authMode === "azure-identity") {
authProvider = getAzureIdentityAuthProvider();
} else {
const authConfig = await loadAuthConfig("public-config");
const authProvider =
config.authMode === "azure-identity"
? getAzureIdentityAuthProvider(authConfig.tenantId, authConfig.clientId)
: getMsalAuthProvider(authConfig.tenantId, authConfig.clientId);
authProvider = getMsalAuthProvider(authConfig.tenantId, authConfig.clientId);
}
return Client.init({
authProvider: authProvider,