From c4fd9c93a63bce7c322aec1fc304b4dc5ac5a9cd Mon Sep 17 00:00:00 2001 From: Rory& Date: Mon, 2 Jun 2025 10:12:34 +0200 Subject: Split authentication and authorization --- testFrontend/SafeNSound.Frontend/Pages/Auth.razor | 15 ++++++++++++++- testFrontend/SafeNSound.Sdk/SafeNSoundAuthentication.cs | 3 --- testFrontend/SafeNSound.Sdk/SafeNSoundClient.cs | 8 ++++++++ 3 files changed, 22 insertions(+), 4 deletions(-) (limited to 'testFrontend') diff --git a/testFrontend/SafeNSound.Frontend/Pages/Auth.razor b/testFrontend/SafeNSound.Frontend/Pages/Auth.razor index c58a996..7a9f5d1 100644 --- a/testFrontend/SafeNSound.Frontend/Pages/Auth.razor +++ b/testFrontend/SafeNSound.Frontend/Pages/Auth.razor @@ -7,12 +7,13 @@ Email (L? R):
Password (L, R): -
+
Type (R): (one of user|monitor|admin)
Randomise Register Login +Who Am I Delete

@@ -105,4 +106,16 @@ StateHasChanged(); } + private async Task WhoAmI() { + Result = null; + Exception = null; + try { + Result = await App.Client!.WhoAmI(); + } + catch (Exception ex) { + Exception = ex; + } + StateHasChanged(); + } + } \ No newline at end of file diff --git a/testFrontend/SafeNSound.Sdk/SafeNSoundAuthentication.cs b/testFrontend/SafeNSound.Sdk/SafeNSoundAuthentication.cs index f63d8b0..333db6d 100644 --- a/testFrontend/SafeNSound.Sdk/SafeNSoundAuthentication.cs +++ b/testFrontend/SafeNSound.Sdk/SafeNSoundAuthentication.cs @@ -61,9 +61,6 @@ public class WhoAmI { [JsonPropertyName("userId")] public required string UserId { get; set; } - [JsonPropertyName("username")] - public required string UserName { get; set; } - [JsonPropertyName("deviceId")] public required string DeviceId { get; set; } diff --git a/testFrontend/SafeNSound.Sdk/SafeNSoundClient.cs b/testFrontend/SafeNSound.Sdk/SafeNSoundClient.cs index 05d0af9..4d81b52 100644 --- a/testFrontend/SafeNSound.Sdk/SafeNSoundClient.cs +++ b/testFrontend/SafeNSound.Sdk/SafeNSoundClient.cs @@ -12,6 +12,14 @@ public class SafeNSoundClient(SafeNSoundConfiguration config, string accessToken Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", accessToken) } }; + + public async Task WhoAmI() + { + var res = await HttpClient.GetAsync("/auth/whoami"); + res.EnsureSuccessStatusCode(); + return (await res.Content.ReadFromJsonAsync())!; + } + #region Alarm public async Task GetAlarm(string userId = "@me") { -- cgit 1.5.1