Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

Commit b96dc1e

Browse files
authored
feat: add national cloud support (#46)
1 parent 528f348 commit b96dc1e

File tree

3 files changed

+68
-65
lines changed

3 files changed

+68
-65
lines changed

src/Program.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,15 +196,18 @@ static IHostBuilder CreateHostBuilder(string[] args) =>
196196
GraphServiceLibraryClientVersion = $"{assemblyVersion?.Major ?? 0}.{assemblyVersion?.Minor ?? 0}.{assemblyVersion?.Build ?? 0}",
197197
GraphServiceTargetVersion = "beta"
198198
};
199+
200+
var authSettings = p.GetRequiredService<IOptions<AuthenticationOptions>>().Value;
199201
var headersHandler = new NativeHttpHeadersHandler(() => InMemoryHeadersStore.Instance, p.GetService<ILogger<NativeHttpHeadersHandler>>());
200-
return GraphCliClientFactory.GetDefaultClient(options, version: options.GraphServiceTargetVersion, loggingHandler: p.GetRequiredService<LoggingHandler>(), middlewares: new[] { headersHandler });
202+
203+
return GraphCliClientFactory.GetDefaultClient(options, version: options.GraphServiceTargetVersion, environment: authSettings.Environment, loggingHandler: p.GetRequiredService<LoggingHandler>(), middlewares: new[] { headersHandler });
201204
});
202205
services.AddSingleton<IAuthenticationProvider>(p =>
203206
{
204207
var authSettings = p.GetRequiredService<IOptions<AuthenticationOptions>>()?.Value;
205208
var serviceFactory = p.GetRequiredService<AuthenticationServiceFactory>();
206209
AuthenticationStrategy authStrategy = authSettings?.Strategy ?? AuthenticationStrategy.DeviceCode;
207-
var credential = serviceFactory.GetTokenCredentialAsync(authStrategy, authSettings?.TenantId, authSettings?.ClientId, authSettings?.ClientCertificateName, authSettings?.ClientCertificateThumbPrint);
210+
var credential = serviceFactory.GetTokenCredentialAsync(authStrategy, authSettings?.TenantId, authSettings?.ClientId, authSettings?.ClientCertificateName, authSettings?.ClientCertificateThumbPrint, authSettings?.Environment ?? CloudEnvironment.Global);
208211
credential.Wait();
209212
var client = p.GetRequiredService<HttpClient>();
210213
return new AzureIdentityAuthenticationProvider(credential.Result);

src/msgraph-beta-cli.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
<PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0" />
5858
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
5959
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" />
60-
<PackageReference Include="Microsoft.Graph.Cli.Core" Version="1.1.0" />
60+
<PackageReference Include="Microsoft.Graph.Cli.Core" Version="1.2.1" />
6161
<PackageReference Include="System.CommandLine.Hosting" Version="0.4.0-alpha.22272.1" />
6262
</ItemGroup>
6363

src/packages.lock.json

Lines changed: 62 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -41,17 +41,17 @@
4141
},
4242
"Microsoft.Graph.Cli.Core": {
4343
"type": "Direct",
44-
"requested": "[1.1.0, )",
45-
"resolved": "1.1.0",
46-
"contentHash": "VrH8RwpL4bX8JDN5g+B5H7WG0bQHoy/XZMxHCi5tsU3PnN9GQaCBimXmrhgZqTPtUQc1FN0RWcihRBsGP9LfHA==",
44+
"requested": "[1.2.1, )",
45+
"resolved": "1.2.1",
46+
"contentHash": "BX4j2ujt7xU1c2Geh4JF3/LVoDA5dwiK4crss50WLHAtuhuS4jB60YnXStxyzScuguSiz3i/tG/KUdx3ce2U0Q==",
4747
"dependencies": {
4848
"Azure.Identity": "1.10.4",
4949
"JmesPath.Net": "1.0.330",
5050
"Microsoft.Extensions.Hosting": "8.0.0",
5151
"Microsoft.Extensions.Http": "8.0.0",
52-
"Microsoft.Graph.Core": "3.1.5",
52+
"Microsoft.Graph.Core": "3.1.7",
5353
"Microsoft.Kiota.Cli.Commons": "1.1.0",
54-
"Microsoft.Kiota.Http.HttpClientLibrary": "1.3.4",
54+
"Microsoft.Kiota.Http.HttpClientLibrary": "1.3.6",
5555
"Spectre.Console": "0.48.0",
5656
"System.CommandLine": "2.0.0-beta4.22272.1"
5757
}
@@ -69,8 +69,8 @@
6969
},
7070
"Azure.Core": {
7171
"type": "Transitive",
72-
"resolved": "1.36.0",
73-
"contentHash": "vwqFZdHS4dzPlI7FFRkPx9ctA+aGGeRev3gnzG8lntWvKMmBhAmulABi1O9CEvS3/jzYt7yA+0pqVdxkpAd7dQ==",
72+
"resolved": "1.37.0",
73+
"contentHash": "ZSWV/ftBM/c/+Eo2hlzeEWntjqNG+8TWXX/DAKjBSWIf7nEvFILQoJL7JZx5HjypDvdNUMj5J2ji8ZpFFSghSg==",
7474
"dependencies": {
7575
"Microsoft.Bcl.AsyncInterfaces": "1.1.1",
7676
"System.Diagnostics.DiagnosticSource": "6.0.1",
@@ -386,17 +386,17 @@
386386
},
387387
"Microsoft.Graph.Core": {
388388
"type": "Transitive",
389-
"resolved": "3.1.5",
390-
"contentHash": "rqAnJvO+yI/SsJKlW2XxNtHofs9DvR4EYPs+b1vx5rxEGZ8MnaMgzpeffgjjLzWZzhoqzfKzyzo0dvC8l6SD2Q==",
391-
"dependencies": {
392-
"Microsoft.IdentityModel.Protocols.OpenIdConnect": "7.2.0",
393-
"Microsoft.Kiota.Abstractions": "1.7.5",
394-
"Microsoft.Kiota.Authentication.Azure": "1.1.2",
395-
"Microsoft.Kiota.Http.HttpClientLibrary": "1.3.4",
396-
"Microsoft.Kiota.Serialization.Form": "1.1.1",
397-
"Microsoft.Kiota.Serialization.Json": "1.1.2",
398-
"Microsoft.Kiota.Serialization.Multipart": "1.1.1",
399-
"Microsoft.Kiota.Serialization.Text": "1.1.1",
389+
"resolved": "3.1.7",
390+
"contentHash": "5Xl0nQMOeRQxApoy3iZSc79Pj1OZ++n9ItPAFinJZk9twrqBfSvkXtVzA4dwS4FBq8EeH2TAtUvxU8EzTEcMvQ==",
391+
"dependencies": {
392+
"Microsoft.IdentityModel.Protocols.OpenIdConnect": "7.3.1",
393+
"Microsoft.Kiota.Abstractions": "1.7.9",
394+
"Microsoft.Kiota.Authentication.Azure": "1.1.3",
395+
"Microsoft.Kiota.Http.HttpClientLibrary": "1.3.6",
396+
"Microsoft.Kiota.Serialization.Form": "1.1.3",
397+
"Microsoft.Kiota.Serialization.Json": "1.1.5",
398+
"Microsoft.Kiota.Serialization.Multipart": "1.1.2",
399+
"Microsoft.Kiota.Serialization.Text": "1.1.2",
400400
"NETStandard.Library": "2.0.3",
401401
"System.Security.Claims": "4.3.0"
402402
}
@@ -421,67 +421,67 @@
421421
},
422422
"Microsoft.IdentityModel.Abstractions": {
423423
"type": "Transitive",
424-
"resolved": "7.2.0",
425-
"contentHash": "7YgmrhCORuOP8miZJLdQhSEzyHdD5PfRjaqINbqSzS9LKEfOoHq8S9o4FVmK9Mu7Gts8MfL46sshwCk4AgjNyw=="
424+
"resolved": "7.3.1",
425+
"contentHash": "gIw8Sr5ZpuzKFBTfJonh2F54DivTzm5IIK15QB4Y6uE30uQdEO1NnCojTC/b6sWZoZzD0sdBa6SqwMXhucD+nA=="
426426
},
427427
"Microsoft.IdentityModel.JsonWebTokens": {
428428
"type": "Transitive",
429-
"resolved": "7.2.0",
430-
"contentHash": "zLFA9IBxDWw6Y1nz2PPZyQvF+ZZ4aW1pwgtwusQB39lgxOc2xVqZ8gitsuT1rwyuIbchGOWbax4fsJ8OgGRxSQ==",
429+
"resolved": "7.3.1",
430+
"contentHash": "mXA6AoaD5uZqtsKghgRiupBhyXNii8p9F2BjNLnDGud0tZLS5+4Fio2YAGjFXhnkc80CqgQ61X5U1gUNnDEoKQ==",
431431
"dependencies": {
432-
"Microsoft.IdentityModel.Tokens": "7.2.0"
432+
"Microsoft.IdentityModel.Tokens": "7.3.1"
433433
}
434434
},
435435
"Microsoft.IdentityModel.Logging": {
436436
"type": "Transitive",
437-
"resolved": "7.2.0",
438-
"contentHash": "U15cZGq0JfkFXKDaDalq75WKGJniZnV0D6tCbaqc/NgLpIIO/Sq56PGr1v9fhPmXW2xb6ParGFfZkfryewmpWQ==",
437+
"resolved": "7.3.1",
438+
"contentHash": "uPt2aiRUCbcOc0Wk+dDCSClFfPNs3S3Z7fmy50MoxJ1mGmtVUDMpyRJeYzZ/16x4rL19T+g2zrzjcWoitp5+gQ==",
439439
"dependencies": {
440-
"Microsoft.IdentityModel.Abstractions": "7.2.0"
440+
"Microsoft.IdentityModel.Abstractions": "7.3.1"
441441
}
442442
},
443443
"Microsoft.IdentityModel.Protocols": {
444444
"type": "Transitive",
445-
"resolved": "7.2.0",
446-
"contentHash": "V0shZekRJDwoOjqeg79M2I/Mg+PXq2DWGVymW6h2CbWOwxqHItHF3QH9Tex8cKUSEY+4/NWDUvP5c48um2xNvw==",
445+
"resolved": "7.3.1",
446+
"contentHash": "BA+048lSJsWecQDaRYoEAtvSxb9LKv54eku1jiWHc5Giu0FG5nNgm/pKiBheOJSmXw2ZPl048HyqotDzDU6jXg==",
447447
"dependencies": {
448-
"Microsoft.IdentityModel.Logging": "7.2.0",
449-
"Microsoft.IdentityModel.Tokens": "7.2.0"
448+
"Microsoft.IdentityModel.Logging": "7.3.1",
449+
"Microsoft.IdentityModel.Tokens": "7.3.1"
450450
}
451451
},
452452
"Microsoft.IdentityModel.Protocols.OpenIdConnect": {
453453
"type": "Transitive",
454-
"resolved": "7.2.0",
455-
"contentHash": "d8Hm3B99rNh+RX41On0iN1PsFgDmydIjCJjYQVOwpZotQx9ItheTmYMt0m+f/9xqB4k36o5OyCKLNQUyLvV+ng==",
454+
"resolved": "7.3.1",
455+
"contentHash": "TK3XOKE+7/BXciZyn71K8Csyr4zYbyo0EA/G5AUSR8wfrh3NBCwhytJeKq8QN41bJV++8xAmqesR9g/paoQ2zg==",
456456
"dependencies": {
457-
"Microsoft.IdentityModel.Protocols": "7.2.0",
458-
"System.IdentityModel.Tokens.Jwt": "7.2.0"
457+
"Microsoft.IdentityModel.Protocols": "7.3.1",
458+
"System.IdentityModel.Tokens.Jwt": "7.3.1"
459459
}
460460
},
461461
"Microsoft.IdentityModel.Tokens": {
462462
"type": "Transitive",
463-
"resolved": "7.2.0",
464-
"contentHash": "ycDxTRKNG2ad+y8166YuE0vqbzONEcgoZhMeOfqOoC4GDNOGEYlMoSS+Qm6n/GBHgW6FNmNxpXOUJLRMbJxcWQ==",
463+
"resolved": "7.3.1",
464+
"contentHash": "/c/p8/3CAH706c0ii5uTgSb/8M/jwyuurtdMeKTBeKFU9aA+EZrLu1M8aaS3CSlGaxoxsoaxr4/+KXykgQ4VgQ==",
465465
"dependencies": {
466-
"Microsoft.IdentityModel.Logging": "7.2.0"
466+
"Microsoft.IdentityModel.Logging": "7.3.1"
467467
}
468468
},
469469
"Microsoft.Kiota.Abstractions": {
470470
"type": "Transitive",
471-
"resolved": "1.7.5",
472-
"contentHash": "6oAk4nq/lnyPOmILshB8P6w9Q2X5H4Z7hGBT+Lbuusr+FnxzO6gb7BY50KY7+buiirCi4U90juk6WcXiY7SN3w==",
471+
"resolved": "1.7.9",
472+
"contentHash": "GsplV0+pcYox4uKfs2VFL+GzYJnl4XlQZ03GY1uvU3ZJHgAdZ75twis+sMJZXIB9WnBIc0QmXry1gqZOf0iMZg==",
473473
"dependencies": {
474474
"Std.UriTemplate": "0.0.50",
475475
"System.Diagnostics.DiagnosticSource": "[6.0.0, 9.0.0)"
476476
}
477477
},
478478
"Microsoft.Kiota.Authentication.Azure": {
479479
"type": "Transitive",
480-
"resolved": "1.1.2",
481-
"contentHash": "Dzc6h9pSHKCJPjJ4RnEs2liL4vVO/O7Oh8XolMHB7c+4/bkdvOdWS9UYz5uMtP4Q+zgnUF3KO/0WvJSA4nbiNw==",
480+
"resolved": "1.1.3",
481+
"contentHash": "6Sc313i6el2CiJ2zvvt297f/qaogzWzEvw2ZaK4AFP4wBTzXB1aFUEceSUChjFlsGtQTZTq+TOEEUZQfjmnW9Q==",
482482
"dependencies": {
483-
"Azure.Core": "1.36.0",
484-
"Microsoft.Kiota.Abstractions": "1.7.2",
483+
"Azure.Core": "1.37.0",
484+
"Microsoft.Kiota.Abstractions": "1.7.7",
485485
"System.Diagnostics.DiagnosticSource": "[6.0.1, 9.0.0)"
486486
}
487487
},
@@ -500,45 +500,45 @@
500500
},
501501
"Microsoft.Kiota.Http.HttpClientLibrary": {
502502
"type": "Transitive",
503-
"resolved": "1.3.4",
504-
"contentHash": "UDIdHI97FL6aJFEEqI3UL0R8JzYnu0wRtP0UwfKMcldLA3JF1p8lhocn0yll5ZUb2cxpmFOVxX6kJiHEh+8V1w==",
503+
"resolved": "1.3.6",
504+
"contentHash": "VQ1wPHxZFsZen8o3oTvaJ8Rk/BI8sMyvjYnHuKT2QMEt7WkUSCOl0RFdNT46hcef0F8FKPw/AP6QUxLP8kzItw==",
505505
"dependencies": {
506-
"Microsoft.Kiota.Abstractions": "1.7.3",
506+
"Microsoft.Kiota.Abstractions": "1.7.8",
507507
"System.Diagnostics.DiagnosticSource": "[6.0.0, 9.0.0)",
508508
"System.Text.Json": "[6.0.0, 9.0.0)"
509509
}
510510
},
511511
"Microsoft.Kiota.Serialization.Form": {
512512
"type": "Transitive",
513-
"resolved": "1.1.1",
514-
"contentHash": "/j0B30rmLUoan6ckekHmPe6H0xJ3nCkn5RfgFfJkDnJiLO15N57+NTDgjGPbdwqRafQGyvJUmuON2APVZIdQhA==",
513+
"resolved": "1.1.3",
514+
"contentHash": "k/B/klqPuDDxhL/0yMwXr7fbBg7uM24O/R+lZYlz2izwPxfZX7dOApetJaab2P0eFat/kKGVlAnS1EKuz0PJTA==",
515515
"dependencies": {
516-
"Microsoft.Kiota.Abstractions": "1.7.2"
516+
"Microsoft.Kiota.Abstractions": "1.7.8"
517517
}
518518
},
519519
"Microsoft.Kiota.Serialization.Json": {
520520
"type": "Transitive",
521-
"resolved": "1.1.2",
522-
"contentHash": "n421mk9agwBeHhAkeQIwRc3bjRE4oEPM1/CTxuiUZkd8ni4PN0Tabp3PPCjsuNmqcZXLleUh2nG/JBCoRizdzA==",
521+
"resolved": "1.1.5",
522+
"contentHash": "Vn4+WbZQNMmhmxz5cOTOPCY1cr+SHphHFTZxvzolsCVMrg9jzNN5yxKJ05XksILyg9JPVNTdaogBWZv/pWl0OA==",
523523
"dependencies": {
524-
"Microsoft.Kiota.Abstractions": "1.7.2",
524+
"Microsoft.Kiota.Abstractions": "1.7.9",
525525
"System.Text.Json": "[6.0.0, 9.0.0)"
526526
}
527527
},
528528
"Microsoft.Kiota.Serialization.Multipart": {
529529
"type": "Transitive",
530-
"resolved": "1.1.1",
531-
"contentHash": "+31xiVWveV9/8qGlm+STiwVVN74tpwJvXq2Q2MZGDQCWZ1j+aDr4y5auOw0l1yr2nD+1jjyjU239101Pu6ECgw==",
530+
"resolved": "1.1.2",
531+
"contentHash": "R0wLb9N4iLUOvdWCeg1wt+GeX5J7cJCaiO4t1hI4qVC7kU9s9qsw7KQQcpSUeteg+7T/v/b1NZtCRrj8ZP+9lw==",
532532
"dependencies": {
533-
"Microsoft.Kiota.Abstractions": "1.7.2"
533+
"Microsoft.Kiota.Abstractions": "1.7.9"
534534
}
535535
},
536536
"Microsoft.Kiota.Serialization.Text": {
537537
"type": "Transitive",
538-
"resolved": "1.1.1",
539-
"contentHash": "6iA04gp7BhbgkLjKJ9wq+/87zI5DROSkakQ5cenlUKMUySTHkleLI7f0r57BNHi+sCtQu5Am3+h40G85yJwhug==",
538+
"resolved": "1.1.2",
539+
"contentHash": "7Nyt3K9oELJtilR46mG1BowdCEc5Ts5ZrMyUE1Mbi2gPXtxNvZrYvU1tLHoU4v3T+ezJiUjwvJEpJ3cGa+3Mfw==",
540540
"dependencies": {
541-
"Microsoft.Kiota.Abstractions": "1.7.2"
541+
"Microsoft.Kiota.Abstractions": "1.7.6"
542542
}
543543
},
544544
"Microsoft.NETCore.Platforms": {
@@ -638,11 +638,11 @@
638638
},
639639
"System.IdentityModel.Tokens.Jwt": {
640640
"type": "Transitive",
641-
"resolved": "7.2.0",
642-
"contentHash": "Z3Fmkrxkp+o51ANMO/PqASRRlEz8dH4mTWwZXMFMXZt2bUGztBiNcIDnwBCElYLYpzpmz4sIqHb6aW8QVLe6YQ==",
641+
"resolved": "7.3.1",
642+
"contentHash": "iE8biOWyAC1NnYcZGcgXErNACvIQ6Gcmg5s28gsjVbyyYdF9NdKsYzAPAsO3KGK86EQjpToI1AO82XbG8chkzA==",
643643
"dependencies": {
644-
"Microsoft.IdentityModel.JsonWebTokens": "7.2.0",
645-
"Microsoft.IdentityModel.Tokens": "7.2.0"
644+
"Microsoft.IdentityModel.JsonWebTokens": "7.3.1",
645+
"Microsoft.IdentityModel.Tokens": "7.3.1"
646646
}
647647
},
648648
"System.IO": {

0 commit comments

Comments
 (0)