From d65fee07e9bc5f4544e4b53e18450dbc0c44338d Mon Sep 17 00:00:00 2001
From: www159 <2107795244@qq.com>
Date: Sun, 26 Jun 2022 16:34:45 +0800
Subject: [PATCH] chore: testing api
---
FuckCredential/FuckCredential.sln | 25 +++++++
.../FuckCredential/FuckCredential.csproj | 18 +++++
FuckCredential/FuckCredential/Program.cs | 24 +++++++
.../azure_m.Android/azure_m.Android.csproj | 3 -
azure_m/azure_m/azure_m/App.xaml.cs | 13 +++-
azure_m/azure_m/azure_m/AppShell.xaml.cs | 2 +-
azure_m/azure_m/azure_m/Models/Resources.cs | 6 +-
.../azure_m/azure_m/Services/AzureQuery.cs | 15 ++--
.../azure_m/ViewModels/ResourceViewModel.cs | 23 +++----
.../azure_m/Views/AllResourcesPage.xaml | 10 ++-
azure_m/azure_m/azure_m/Views/LoginPage.xaml | 1 +
.../azure_m/azure_m/Views/LoginPage.xaml.cs | 11 +++
.../azure_m/azure_m/Views/MainPage.xaml.cs | 12 ++--
.../flurltestForm/MainWindow.xaml.cs | 69 ++++++++++---------
fuckAzure/fuckAzure.sln | 25 +++++++
fuckAzure/fuckAzure/App.xaml | 9 +++
fuckAzure/fuckAzure/App.xaml.cs | 17 +++++
fuckAzure/fuckAzure/AssemblyInfo.cs | 10 +++
fuckAzure/fuckAzure/MainWindow.xaml | 12 ++++
fuckAzure/fuckAzure/MainWindow.xaml.cs | 28 ++++++++
fuckAzure/fuckAzure/fuckAzure.csproj | 10 +++
21 files changed, 277 insertions(+), 66 deletions(-)
create mode 100644 FuckCredential/FuckCredential.sln
create mode 100644 FuckCredential/FuckCredential/FuckCredential.csproj
create mode 100644 FuckCredential/FuckCredential/Program.cs
create mode 100644 fuckAzure/fuckAzure.sln
create mode 100644 fuckAzure/fuckAzure/App.xaml
create mode 100644 fuckAzure/fuckAzure/App.xaml.cs
create mode 100644 fuckAzure/fuckAzure/AssemblyInfo.cs
create mode 100644 fuckAzure/fuckAzure/MainWindow.xaml
create mode 100644 fuckAzure/fuckAzure/MainWindow.xaml.cs
create mode 100644 fuckAzure/fuckAzure/fuckAzure.csproj
diff --git a/FuckCredential/FuckCredential.sln b/FuckCredential/FuckCredential.sln
new file mode 100644
index 00000000..dcc5771a
--- /dev/null
+++ b/FuckCredential/FuckCredential.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.1.32414.318
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FuckCredential", "FuckCredential\FuckCredential.csproj", "{871D9F48-2D6F-40D8-B8B9-92536F1F2A3B}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {871D9F48-2D6F-40D8-B8B9-92536F1F2A3B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {871D9F48-2D6F-40D8-B8B9-92536F1F2A3B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {871D9F48-2D6F-40D8-B8B9-92536F1F2A3B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {871D9F48-2D6F-40D8-B8B9-92536F1F2A3B}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {357E8899-5D1C-4363-A610-993C340DECAC}
+ EndGlobalSection
+EndGlobal
diff --git a/FuckCredential/FuckCredential/FuckCredential.csproj b/FuckCredential/FuckCredential/FuckCredential.csproj
new file mode 100644
index 00000000..ae4e1205
--- /dev/null
+++ b/FuckCredential/FuckCredential/FuckCredential.csproj
@@ -0,0 +1,18 @@
+
+
+
+ Exe
+ net6.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
diff --git a/FuckCredential/FuckCredential/Program.cs b/FuckCredential/FuckCredential/Program.cs
new file mode 100644
index 00000000..0588390f
--- /dev/null
+++ b/FuckCredential/FuckCredential/Program.cs
@@ -0,0 +1,24 @@
+// See https://aka.ms/new-console-template for more information
+using Azure.Identity;
+using Azure.ResourceManager;
+using Azure.Core;
+using System.Diagnostics;
+class Program
+{
+
+ //public string myClientId = "219b2431-594f-47fa-8e85-664196aa3f92";
+ public static async Task Main(string[] args)
+ {
+
+ var prog = new Program();
+ try
+ {
+ ar credential = new DefaultAzureCredential();
+ Console.WriteLine();
+ }
+ catch(Exception e)
+ {
+ Debug.WriteLine(e);
+ };
+ }
+}
\ No newline at end of file
diff --git a/azure_m/azure_m/azure_m.Android/azure_m.Android.csproj b/azure_m/azure_m/azure_m.Android/azure_m.Android.csproj
index 07da096f..581cc9c8 100644
--- a/azure_m/azure_m/azure_m.Android/azure_m.Android.csproj
+++ b/azure_m/azure_m/azure_m.Android/azure_m.Android.csproj
@@ -170,8 +170,5 @@
-
-
-
\ No newline at end of file
diff --git a/azure_m/azure_m/azure_m/App.xaml.cs b/azure_m/azure_m/azure_m/App.xaml.cs
index 51bc36f9..530bb20f 100644
--- a/azure_m/azure_m/azure_m/App.xaml.cs
+++ b/azure_m/azure_m/azure_m/App.xaml.cs
@@ -16,11 +16,18 @@ namespace azure_m
DependencyService.Register();
DependencyService.Register();
- MainPage = new AppShell();
- //VirtualNetworkPage = new AppShell
+ MainPage = new LoginPage();
+ ((LoginPage)MainPage).LoginCompleted += h;
+ //LoginPage loginPage = new LoginPage();
+ ////VirtualNetworkPage = new AppShell
+ //loginPage.LoginCompleted += h;
}
-
+ public void h(object sender, string e)
+ {
+ Console.WriteLine(e);
+ MainPage=new AppShell();
+ }
protected override void OnStart()
{
diff --git a/azure_m/azure_m/azure_m/AppShell.xaml.cs b/azure_m/azure_m/azure_m/AppShell.xaml.cs
index 806d1b18..1aaa0603 100644
--- a/azure_m/azure_m/azure_m/AppShell.xaml.cs
+++ b/azure_m/azure_m/azure_m/AppShell.xaml.cs
@@ -37,7 +37,7 @@ namespace azure_m
StarItems.IsVisible = !StarItems.IsVisible;
StarItems.IsEnabled = !StarItems.IsEnabled;
///HACK: 通过数据绑定控制这里的ImageSource
- StarFlyoutItem.IconImageSource = StarFlyoutItem.IconImageSource.ToString().Equals("File: up4.png") ? "down4.png" : "up4.png";
+ //StarFlyoutItem.IconImageSource = StarFlyoutItem.IconImageSource.ToString().Equals("File: up4.png") ? "down4.png" : "up4.png";
}
}
}
diff --git a/azure_m/azure_m/azure_m/Models/Resources.cs b/azure_m/azure_m/azure_m/Models/Resources.cs
index 48e94e79..934258ac 100644
--- a/azure_m/azure_m/azure_m/Models/Resources.cs
+++ b/azure_m/azure_m/azure_m/Models/Resources.cs
@@ -1,5 +1,5 @@
using System;
-
+using Newtonsoft.Json;
namespace azure_m.Models
{
@@ -19,9 +19,13 @@ namespace azure_m.Models
/// 虚拟资源,对应虚拟资源类型
public class Resource
{
+ [JsonProperty("location")]
public string location { get; set; }
+ [JsonProperty("name")]
public string name { get; set; }
+ [JsonProperty("id")]
public string id { get; set; }
+ [JsonProperty("type")]
public string type { get; set; }
//public object Properties { get; set; }
//public string provisioningState { get; set; }
diff --git a/azure_m/azure_m/azure_m/Services/AzureQuery.cs b/azure_m/azure_m/azure_m/Services/AzureQuery.cs
index 58e2733d..1c98efa6 100644
--- a/azure_m/azure_m/azure_m/Services/AzureQuery.cs
+++ b/azure_m/azure_m/azure_m/Services/AzureQuery.cs
@@ -9,7 +9,8 @@ using azure_m.Models;
using azure_m.Views;
using System.Diagnostics;
using Xamarin.Forms;
-
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
namespace azure_m.Services
{
@@ -23,7 +24,7 @@ namespace azure_m.Services
//public static string apiPrefixAd { get { return queryPrefix + subscriptionId; } }
public static string apiVersionAd { get { return "api-version=" + apiVersion; } }
- public static string _token { get; set; } = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImpTMVhvMU9XRGpfNTJ2YndHTmd2UU8yVnpNYyIsImtpZCI6ImpTMVhvMU9XRGpfNTJ2YndHTmd2UU8yVnpNYyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC80NTNkODYyOC0zNDNkLTQ4YjktYjRkOS1jMGE5N2U0YmUzYjcvIiwiaWF0IjoxNjU2MDkzNTM1LCJuYmYiOjE2NTYwOTM1MzUsImV4cCI6MTY1NjA5OTExOSwiYWNyIjoiMSIsImFpbyI6IkFVUUF1LzhUQUFBQWxEZnMxS0ppQ0tKaSszWjZPSUs0WVBqbWw2U3BhV2djMk5EWlVnbzlQUitKQ2gvUEpSRm1JR3oyenhRMVgrWTVUV0tySzVsMUZyWVhLQTgzRTdKVlNnPT0iLCJhbHRzZWNpZCI6IjE6bGl2ZS5jb206MDAwMzQwMDEwMkZERUZBMiIsImFtciI6WyJwd2QiXSwiYXBwaWQiOiJjNDRiNDA4My0zYmIwLTQ5YzEtYjQ3ZC05NzRlNTNjYmRmM2MiLCJhcHBpZGFjciI6IjIiLCJlbWFpbCI6IjIxMDc3OTUyNDRAcXEuY29tIiwiZmFtaWx5X25hbWUiOiJwZXRlciIsImdpdmVuX25hbWUiOiJmdSIsImdyb3VwcyI6WyJjMmRiNzk0My1lNWZiLTQ2YzItYWMyZC0yY2Y0M2VkYTNiMzEiXSwiaWRwIjoibGl2ZS5jb20iLCJpcGFkZHIiOiIxMDMuMTUyLjExMi4xNTAiLCJuYW1lIjoicGV0ZXIgZnUiLCJvaWQiOiJmYWQ1OTE2ZS0xNjk4LTQ5NmMtYmVlNi1iNjMxOTI0Mjc3NWMiLCJwdWlkIjoiMTAwMzIwMDIwNzQ3OTM5MSIsInJoIjoiMC5BVlVBS0lZOVJUMDB1VWkwMmNDcGZrdmp0MFpJZjNrQXV0ZFB1a1Bhd2ZqMk1CT0lBTm8uIiwic2NwIjoidXNlcl9pbXBlcnNvbmF0aW9uIiwic3ViIjoiLXRXcUk5ZDlkX1BmTFFETkZQd3hfUjlRQjNXWWswN25KbzZPdkxyU2ZyUSIsInRpZCI6IjQ1M2Q4NjI4LTM0M2QtNDhiOS1iNGQ5LWMwYTk3ZTRiZTNiNyIsInVuaXF1ZV9uYW1lIjoibGl2ZS5jb20jMjEwNzc5NTI0NEBxcS5jb20iLCJ1dGkiOiJBRnR0UkszX1pFdTJoUHVYbXBBLUFBIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiXSwieG1zX3RjZHQiOjE2NTU3MDM0NjV9.rPr2cTLbDI8iUfdXPmPAAClP9R-sue_kx3hkNtMaUlWSTrXmm6zC7ZpA-AOvCObG-t-3tS_IvTu9wDV2mYfsfIW1uFBNmP60mphJ4-s34beq3yZQXOnscmUo50hD0IVLWi6RDqow4i5PbZEr3ainBlKg5qv_61XGKLMUi-7vX5QVi6tdmchBxrIyaPheMRP0gAHRlcvwwCFk65fE3Qwk0L32-78sSZjkEDWpyYo5aGWS-qkXLcqnSTHWMAlhnluelNkxMuoOn95GPXYCRspbQ77nj7M1_Z-cUGGF-mCfi9Tgsyd35oanDb-sNLN_G6lleQiGFMYye5kHcWXhIYQLtA";
+ public static string _token { get; set; } = "EwCIA8l6BAAUkj1NuJYtTVha%2bMogk%2bHEiPbQo04AATKbxvuuGpWneXHKSoiUENnv7jfhrRVyXeQjPQLD4R4Cz0/qH%2bZU2mD0bI8KIfDDeQnMM%2bjajXtlu%2bCg%2bgEoIv7SY4FjhpdW9ZWYdKRJ0GPcxQCl%2bkxEgFtBE/8QGj/xb9nPhWtZzmKQlvqSKZW2CtX0mksd6yxtC8/cVPnw34%2bC051oWPtQ6KcHY3GphIH8seWPP2R/CzRdXlQFLJRV2KgOni1aDFaz2Zqmqc9JrNH4qt4TEi3lLwi4yB4hpc51Tyyw521uZkrStHYh80pPi03eNAht4okysKehMiWLlxXZFNutnOen5Gb%2b%2bJyygKavLB4cIJSX2YaRJMq3g0vvijUDZgAACI5Mc0k8/2TsWALC1LriL7252yAMSZOHolK6VPuijlMcKHa%2btG7dG4AZl9/TwRUxg68wreH4CmVz9mZ5/n/hRD5sxaOvmjkmpdUX7EHARzVwWW7FrOZnOd76UHiHZUgQle9t56Ei6DXjLDY10cWJEs9ExPNE9gyd7wZ7qjKBzMMJMS6wgypfqSFYwYa/azdiBdQqQKxmy%2b2F3W1qZmjeaqg36H4AiUm6R9VrZ/KZE5TG3gCg4HXWvlmy6g0qYATrcK9O2bVOgs9f/tNH2xrWC%2bklGevpEiTvlxOQaH8kAGkKG%2bS7PUxGmvkch3aY38y5VQXRwkmmoM1YvYJzOPyMJ4XcAEeFx2BaU4PrKZ2F9xp4aNzD%2bB07RDpRXWIDwieVIrZWju70cfB/Y4MeMwpVw3L5KE6nh2xihHHCXI4MI3shsLDcsR73P96yZiBA%2buuqASw7DuUIlsbSCSjkhVx0w46DY1FskDQs/F24gYRKhk6PMwdiOGidsw97ocitTlpKnQ%2bVFh5ejY83n%2bOWVe4XUkUSoIR%2bqTUQ4s%2bWlNfbfOU8h%2b39TD0MQuRRUGs6P8%2boqMQ6n6GCiXneitzmhNCAbsSRfYVmVhzVm1pVfv5z4IBtm/%2bZsbxOpelwFzNTrJQrQZza2TsjyfrRKjnoRXQt/7bYG/AQUZAjhPUKw2nUe%2bCqk7GjRXB%2bgrV5Qq3P0uDmxXGRt1gR6HOZkok4FKfK1H%2betChmL3NUA39UPq391/UCCE9tXNFdAya8%2bkEfA2gzc9Jn8ijHmxqZtOufygDaFOTqasPknqWCGUz5EZYpJPJErzBxAg%3d%3d";
public static IFlurlRequest baseRequest { get; set; } = new Url(apiPrefixAd)
.SetQueryParam("api-version", apiVersion)
.WithOAuthBearerToken(_token);
@@ -31,9 +32,9 @@ namespace azure_m.Services
}
- public interface IResponseType
+ public class IResponseType
{
- T value { get; set; }
+ public T value { get; set; }
}
public class QueryList
@@ -52,7 +53,11 @@ namespace azure_m.Services
IResponseType res;
if(filter is "" && top is -1)
{
- res = await baseRequest.GetJsonAsync();
+ //res = await baseRequest.GetJsonAsync();
+ //var ret = await new Url("http://localhost:8080/test/resources").GetStringAsync();
+ //res = await new Url("http://localhost:8080/test/resources").GetJsonAsync();
+ //res = JsonConvert.DeserializeObject(res);
+ res = await baseRequest.GetJsonAsync>();
}
else if(filter is "")
diff --git a/azure_m/azure_m/azure_m/ViewModels/ResourceViewModel.cs b/azure_m/azure_m/azure_m/ViewModels/ResourceViewModel.cs
index fa3ec731..d3b29753 100644
--- a/azure_m/azure_m/azure_m/ViewModels/ResourceViewModel.cs
+++ b/azure_m/azure_m/azure_m/ViewModels/ResourceViewModel.cs
@@ -36,18 +36,17 @@ namespace azure_m.ViewModels
try
{
Resources.Clear();
- //QueryInfo._token.ToLower();
- //var resources = await resDataStore.GetResourcesAsync();
- var resources = new Resource[]
- {
- new Resource
- {
- id = "1",
- name = "1",
- location = "1",
- type = "1",
- }
- };
+ var resources = await resDataStore.GetResourcesAsync();
+ //var resources = new Resource[]
+ //{
+ // new Resource
+ // {
+ // id = "1",
+ // name = "1",
+ // location = "1",
+ // type = "1",
+ // }
+ //};
foreach (var resource in resources)
{
Resources.Add(resource);
diff --git a/azure_m/azure_m/azure_m/Views/AllResourcesPage.xaml b/azure_m/azure_m/azure_m/Views/AllResourcesPage.xaml
index da62aa55..203af639 100644
--- a/azure_m/azure_m/azure_m/Views/AllResourcesPage.xaml
+++ b/azure_m/azure_m/azure_m/Views/AllResourcesPage.xaml
@@ -29,7 +29,13 @@
-
+
+
+
+
diff --git a/azure_m/azure_m/azure_m/Views/LoginPage.xaml b/azure_m/azure_m/azure_m/Views/LoginPage.xaml
index 806eb542..48e34afe 100644
--- a/azure_m/azure_m/azure_m/Views/LoginPage.xaml
+++ b/azure_m/azure_m/azure_m/Views/LoginPage.xaml
@@ -9,6 +9,7 @@
+
\ No newline at end of file
diff --git a/azure_m/azure_m/azure_m/Views/LoginPage.xaml.cs b/azure_m/azure_m/azure_m/Views/LoginPage.xaml.cs
index 3a410033..53281d1f 100644
--- a/azure_m/azure_m/azure_m/Views/LoginPage.xaml.cs
+++ b/azure_m/azure_m/azure_m/Views/LoginPage.xaml.cs
@@ -17,5 +17,16 @@ namespace azure_m.Views
InitializeComponent();
this.BindingContext = new LoginViewModel();
}
+
+ public event EventHandler LoginCompleted;
+
+ private void Button_Clicked(object sender, EventArgs e)
+ {
+ var loginCompleted = LoginCompleted;
+ if(loginCompleted != null)
+ {
+ loginCompleted(this, "funck");
+ }
+ }
}
}
\ No newline at end of file
diff --git a/azure_m/azure_m/azure_m/Views/MainPage.xaml.cs b/azure_m/azure_m/azure_m/Views/MainPage.xaml.cs
index 4c0fbd7b..bba7dba2 100644
--- a/azure_m/azure_m/azure_m/Views/MainPage.xaml.cs
+++ b/azure_m/azure_m/azure_m/Views/MainPage.xaml.cs
@@ -32,8 +32,8 @@ namespace azure_m.Views
///DEBUG
if(type == 0)
{
- resources.Add(new Resource("1小时前", "", "虚拟机", "jp", "", "vm"));
- resources.Add(new Resource("2小时前", "", "虚拟机", "jp", "", "vm"));
+ //resources.Add(new Resource("1小时前", "", "虚拟机", "jp", "", "vm"));
+ //resources.Add(new Resource("2小时前", "", "虚拟机", "jp", "", "vm"));
}
resources.ForEach(o => {
@@ -48,10 +48,10 @@ namespace azure_m.Views
new ColumnDefinition { Width = GridLength.Auto }
}
};
- grid.Children.Add(new Image { Source=getSourceByType(o.Kind), HeightRequest=15, VerticalOptions=LayoutOptions.Center},0,0);
- grid.Children.Add(new Label { Text=o.Name, HeightRequest=grid.Height, VerticalOptions=LayoutOptions.Center, HorizontalOptions=LayoutOptions.Start},1,0);
- grid.Children.Add(new Label { Text = o.Kind, HeightRequest=grid.Height, VerticalOptions=LayoutOptions.Center, HorizontalOptions=LayoutOptions.Center},2,0);
- grid.Children.Add(new Label { Text = o.ChangeTime, HeightRequest=grid.Height, VerticalOptions=LayoutOptions.Center, HorizontalOptions= LayoutOptions.End},3,0);
+ //grid.Children.Add(new Image { Source=getSourceByType(o.Kind), HeightRequest=15, VerticalOptions=LayoutOptions.Center},0,0);
+ //grid.Children.Add(new Label { Text=o.Name, HeightRequest=grid.Height, VerticalOptions=LayoutOptions.Center, HorizontalOptions=LayoutOptions.Start},1,0);
+ //grid.Children.Add(new Label { Text = o.Kind, HeightRequest=grid.Height, VerticalOptions=LayoutOptions.Center, HorizontalOptions=LayoutOptions.Center},2,0);
+ //grid.Children.Add(new Label { Text = o.ChangeTime, HeightRequest=grid.Height, VerticalOptions=LayoutOptions.Center, HorizontalOptions= LayoutOptions.End},3,0);
ResourceLayout.Children.Add(grid);
});
diff --git a/flurltestForm/flurltestForm/MainWindow.xaml.cs b/flurltestForm/flurltestForm/MainWindow.xaml.cs
index 5cea134c..98c440d7 100644
--- a/flurltestForm/flurltestForm/MainWindow.xaml.cs
+++ b/flurltestForm/flurltestForm/MainWindow.xaml.cs
@@ -18,6 +18,7 @@ using Flurl.Util;
using Flurl;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
+using Azure.Identity;
namespace flurltestForm
{
@@ -29,6 +30,7 @@ namespace flurltestForm
public MainWindow()
{
InitializeComponent();
+ var cred = new
}
public async Task GetHttpContentWithToken(string url, string token)
@@ -107,40 +109,40 @@ namespace flurltestForm
var accounts = await app.GetAccountsAsync();
var firstAccount = accounts.FirstOrDefault();
- //try
- //{
- // authResult = await app.AcquireTokenSilent(scopes, firstAccount)
- // .ExecuteAsync();
- //}
- //catch (MsalUiRequiredException ex)
- //{
- // // A MsalUiRequiredException happened on AcquireTokenSilent.
- // // This indicates you need to call AcquireTokenInteractive to acquire a token
- // System.Diagnostics.Debug.WriteLine($"MsalUiRequiredException: {ex.Message}");
-
- // try
- // {
- // authResult = await app.AcquireTokenInteractive(scopes)
- // .WithAccount(accounts.FirstOrDefault())
- // .WithPrompt(Prompt.SelectAccount)
- // .ExecuteAsync();
- // }
- // catch (MsalException msalex)
- // {
- // ResultText.Text = $"Error Acquiring Token:{System.Environment.NewLine}{msalex}";
- // }
- //}
- //catch (Exception ex)
- //{
- // ResultText.Text = $"Error Acquiring Token Silently:{System.Environment.NewLine}{ex}";
- // return;
- //}
+ try
+ {
+ authResult = await app.AcquireTokenSilent(scopes, firstAccount)
+ .ExecuteAsync();
+ }
+ catch (MsalUiRequiredException ex)
+ {
+ // A MsalUiRequiredException happened on AcquireTokenSilent.
+ // This indicates you need to call AcquireTokenInteractive to acquire a token
+ System.Diagnostics.Debug.WriteLine($"MsalUiRequiredException: {ex.Message}");
+
+ try
+ {
+ authResult = await app.AcquireTokenInteractive(scopes)
+ .WithAccount(accounts.FirstOrDefault())
+ .WithPrompt(Prompt.SelectAccount)
+ .ExecuteAsync();
+ }
+ catch (MsalException msalex)
+ {
+ ResultText.Text = $"Error Acquiring Token:{System.Environment.NewLine}{msalex}";
+ }
+ }
+ catch (Exception ex)
+ {
+ ResultText.Text = $"Error Acquiring Token Silently:{System.Environment.NewLine}{ex}";
+ return;
+ }
//if (authResult != null)
//{
- //ResultText.Text = await GetHttpContentWithToken(graphAPIEndpoint, authResult.AccessToken);
- var ret = await QueryInfo.queryList.resources.listResources("", -1);
- ResultText.Text = ret.ToString();
+ ResultText.Text = await GetHttpContentWithToken(graphAPIEndpoint, authResult.AccessToken);
+ //var ret = await QueryInfo.queryList.resources.listResources("", -1);
+ //ResultText.Text = ret.ToString();
DisplayBasicTokenInfo(authResult);
this.SignOutButton.Visibility = Visibility.Visible;
//}
@@ -158,8 +160,7 @@ namespace flurltestForm
//public static string apiPrefixAd { get { return queryPrefix + subscriptionId; } }
public static string apiVersionAd { get { return "api-version=" + apiVersion; } }
- public static string _token { get; set; } = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImpTMVhvMU9XRGpfNTJ2YndHTmd2UU8yVnpNYyIsImtpZCI6ImpTMVhvMU9XRGpfNTJ2YndHTmd2UU8yVnpNYyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC80NTNkODYyOC0zNDNkLTQ4YjktYjRkOS1jMGE5N2U0YmUzYjcvIiwiaWF0IjoxNjU2MDkzNTM1LCJuYmYiOjE2NTYwOTM1MzUsImV4cCI6MTY1NjA5OTExOSwiYWNyIjoiMSIsImFpbyI6IkFVUUF1LzhUQUFBQWxEZnMxS0ppQ0tKaSszWjZPSUs0WVBqbWw2U3BhV2djMk5EWlVnbzlQUitKQ2gvUEpSRm1JR3oyenhRMVgrWTVUV0tySzVsMUZyWVhLQTgzRTdKVlNnPT0iLCJhbHRzZWNpZCI6IjE6bGl2ZS5jb206MDAwMzQwMDEwMkZERUZBMiIsImFtciI6WyJwd2QiXSwiYXBwaWQiOiJjNDRiNDA4My0zYmIwLTQ5YzEtYjQ3ZC05NzRlNTNjYmRmM2MiLCJhcHBpZGFjciI6IjIiLCJlbWFpbCI6IjIxMDc3OTUyNDRAcXEuY29tIiwiZmFtaWx5X25hbWUiOiJwZXRlciIsImdpdmVuX25hbWUiOiJmdSIsImdyb3VwcyI6WyJjMmRiNzk0My1lNWZiLTQ2YzItYWMyZC0yY2Y0M2VkYTNiMzEiXSwiaWRwIjoibGl2ZS5jb20iLCJpcGFkZHIiOiIxMDMuMTUyLjExMi4xNTAiLCJuYW1lIjoicGV0ZXIgZnUiLCJvaWQiOiJmYWQ1OTE2ZS0xNjk4LTQ5NmMtYmVlNi1iNjMxOTI0Mjc3NWMiLCJwdWlkIjoiMTAwMzIwMDIwNzQ3OTM5MSIsInJoIjoiMC5BVlVBS0lZOVJUMDB1VWkwMmNDcGZrdmp0MFpJZjNrQXV0ZFB1a1Bhd2ZqMk1CT0lBTm8uIiwic2NwIjoidXNlcl9pbXBlcnNvbmF0aW9uIiwic3ViIjoiLXRXcUk5ZDlkX1BmTFFETkZQd3hfUjlRQjNXWWswN25KbzZPdkxyU2ZyUSIsInRpZCI6IjQ1M2Q4NjI4LTM0M2QtNDhiOS1iNGQ5LWMwYTk3ZTRiZTNiNyIsInVuaXF1ZV9uYW1lIjoibGl2ZS5jb20jMjEwNzc5NTI0NEBxcS5jb20iLCJ1dGkiOiJBRnR0UkszX1pFdTJoUHVYbXBBLUFBIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiXSwieG1zX3RjZHQiOjE2NTU3MDM0NjV9.rPr2cTLbDI8iUfdXPmPAAClP9R-sue_kx3hkNtMaUlWSTrXmm6zC7ZpA-AOvCObG-t-3tS_IvTu9wDV2mYfsfIW1uFBNmP60mphJ4-s34beq3yZQXOnscmUo50hD0IVLWi6RDqow4i5PbZEr3ainBlKg5qv_61XGKLMUi-7vX5QVi6tdmchBxrIyaPheMRP0gAHRlcvwwCFk65fE3Qwk0L32-78sSZjkEDWpyYo5aGWS-qkXLcqnSTHWMAlhnluelNkxMuoOn95GPXYCRspbQ77nj7M1_Z-cUGGF-mCfi9Tgsyd35oanDb-sNLN_G6lleQiGFMYye5kHcWXhIYQLtA";
- public static IFlurlRequest baseRequest { get; set; } = new Url(apiPrefixAd)
+ public static string _token { get; set; } = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImpTMVhvMU9XRGpfNTJ2YndHTmd2UU8yVnpNYyIsImtpZCI6ImpTMVhvMU9XRGpfNTJ2YndHTmd2UU8yVnpNYyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC80NTNkODYyOC0zNDNkLTQ4YjktYjRkOS1jMGE5N2U0YmUzYjcvIiwiaWF0IjoxNjU2MTMzNjAxLCJuYmYiOjE2NTYxMzM2MDEsImV4cCI6MTY1NjEzODg0OCwiYWNyIjoiMSIsImFpbyI6IkFVUUF1LzhUQUFBQWpCNm0reTRsVkQvcVRoWkp1dnN4MVFqZmZad2ZuYzdXWFdXSDJYTnFaalJ4WU5MYzVVVS9KRG9MRUs0aHpnVEhnakFsYi9GMEFKL09lUmlEUW1VMDNRPT0iLCJhbHRzZWNpZCI6IjE6bGl2ZS5jb206MDAwMzQwMDEwMkZERUZBMiIsImFtciI6WyJwd2QiXSwiYXBwaWQiOiJjNDRiNDA4My0zYmIwLTQ5YzEtYjQ3ZC05NzRlNTNjYmRmM2MiLCJhcHBpZGFjciI6IjIiLCJlbWFpbCI6IjIxMDc3OTUyNDRAcXEuY29tIiwiZmFtaWx5X25hbWUiOiJwZXRlciIsImdpdmVuX25hbWUiOiJmdSIsImdyb3VwcyI6WyJjMmRiNzk0My1lNWZiLTQ2YzItYWMyZC0yY2Y0M2VkYTNiMzEiXSwiaWRwIjoibGl2ZS5jb20iLCJpcGFkZHIiOiIxMDMuMTUyLjExMi4xNTAiLCJuYW1lIjoicGV0ZXIgZnUiLCJvaWQiOiJmYWQ1OTE2ZS0xNjk4LTQ5NmMtYmVlNi1iNjMxOTI0Mjc3NWMiLCJwdWlkIjoiMTAwMzIwMDIwNzQ3OTM5MSIsInJoIjoiMC5BVlVBS0lZOVJUMDB1VWkwMmNDcGZrdmp0MFpJZjNrQXV0ZFB1a1Bhd2ZqMk1CT0lBTm8uIiwic2NwIjoidXNlcl9pbXBlcnNvbmF0aW9uIiwic3ViIjoiLXRXcUk5ZDlkX1BmTFFETkZQd3hfUjlRQjNXWWswN25KbzZPdkxyU2ZyUSIsInRpZCI6IjQ1M2Q4NjI4LTM0M2QtNDhiOS1iNGQ5LWMwYTk3ZTRiZTNiNyIsInVuaXF1ZV9uYW1lIjoibGl2ZS5jb20jMjEwNzc5NTI0NEBxcS5jb20iLCJ1dGkiOiI2Y1cxTXlMRk4wT3pMLTE2MmVrUUFBIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiXSwieG1zX3RjZHQiOjE2NTU3MDM0NjV9.CsUdUvvoaUlx3weuQNpVrnF0DRwkerCGT9nj6LG-ZqucCamO-gnCohhE8Fm6oSF7Mo8JkkaJ7eD-SVJ-ItYhhZlmRvUHJsKpuRhRKCH4rZrVjSn_6kViRIhMhRXtYeAs_QkYOYjgpYLRKDcAqmx4XQ1dlultKTemDDO24EqN7QJNMUoLGENPkN8-xKHmmUa6fXt5z20yrNcWIZaeYkU_FiMRGAA0n9lpJlcN5BV26tu8st1Y60Tm_m-8UCKmimQx4qAHCSURnZhnrLo0-VAYysLuq1PLUCDJSmeduFd71dblGVfAi_m8_eJiMWn8_0XQzzRsY1O__dcO7DbdBxFvWQ"; public static IFlurlRequest baseRequest { get; set; } = new Url(apiPrefixAd)
.SetQueryParam("api-version", apiVersion)
.WithOAuthBearerToken(_token);
public static QueryList queryList { get; set; } = new QueryList();
@@ -200,9 +201,11 @@ namespace flurltestForm
dynamic res;
if (filter is "" && top is -1)
{
+ var ret = await new Url("http://localhost:8080/test/resources").GetStringAsync();
//res = await baseRequest.GetStringAsync();
//res = JsonConvert.DeserializeObject>(res);
res = await baseRequest.GetJsonAsync>();
+
}
else if (filter is "")
{
diff --git a/fuckAzure/fuckAzure.sln b/fuckAzure/fuckAzure.sln
new file mode 100644
index 00000000..29f6e987
--- /dev/null
+++ b/fuckAzure/fuckAzure.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.1.32414.318
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "fuckAzure", "fuckAzure\fuckAzure.csproj", "{86704097-B9C6-49E1-871A-8FC14802E02B}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {86704097-B9C6-49E1-871A-8FC14802E02B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {86704097-B9C6-49E1-871A-8FC14802E02B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {86704097-B9C6-49E1-871A-8FC14802E02B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {86704097-B9C6-49E1-871A-8FC14802E02B}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {64C77E1D-52C4-42FF-8AE9-839CC8FBF431}
+ EndGlobalSection
+EndGlobal
diff --git a/fuckAzure/fuckAzure/App.xaml b/fuckAzure/fuckAzure/App.xaml
new file mode 100644
index 00000000..fb19937a
--- /dev/null
+++ b/fuckAzure/fuckAzure/App.xaml
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/fuckAzure/fuckAzure/App.xaml.cs b/fuckAzure/fuckAzure/App.xaml.cs
new file mode 100644
index 00000000..d03733c3
--- /dev/null
+++ b/fuckAzure/fuckAzure/App.xaml.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace fuckAzure
+{
+ ///
+ /// Interaction logic for App.xaml
+ ///
+ public partial class App : Application
+ {
+ }
+}
diff --git a/fuckAzure/fuckAzure/AssemblyInfo.cs b/fuckAzure/fuckAzure/AssemblyInfo.cs
new file mode 100644
index 00000000..8b5504ec
--- /dev/null
+++ b/fuckAzure/fuckAzure/AssemblyInfo.cs
@@ -0,0 +1,10 @@
+using System.Windows;
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
diff --git a/fuckAzure/fuckAzure/MainWindow.xaml b/fuckAzure/fuckAzure/MainWindow.xaml
new file mode 100644
index 00000000..fc99b3c7
--- /dev/null
+++ b/fuckAzure/fuckAzure/MainWindow.xaml
@@ -0,0 +1,12 @@
+
+
+
+
+
diff --git a/fuckAzure/fuckAzure/MainWindow.xaml.cs b/fuckAzure/fuckAzure/MainWindow.xaml.cs
new file mode 100644
index 00000000..20b6cdc0
--- /dev/null
+++ b/fuckAzure/fuckAzure/MainWindow.xaml.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace fuckAzure
+{
+ ///
+ /// Interaction logic for MainWindow.xaml
+ ///
+ public partial class MainWindow : Window
+ {
+ public MainWindow()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/fuckAzure/fuckAzure/fuckAzure.csproj b/fuckAzure/fuckAzure/fuckAzure.csproj
new file mode 100644
index 00000000..4106cb0f
--- /dev/null
+++ b/fuckAzure/fuckAzure/fuckAzure.csproj
@@ -0,0 +1,10 @@
+
+
+
+ WinExe
+ net6.0-windows
+ enable
+ true
+
+
+
--
GitLab