From 08e54e70366a6bbfbb782c7ba49bd5e3776d8795 Mon Sep 17 00:00:00 2001 From: limited_dev Date: Thu, 2 Feb 2023 08:15:43 +0100 Subject: [PATCH] feat: finished login system --- .../Auth/CustomAuthenticationStateProvider.cs | 3 ++- ImageBoardServerApp/Auth/UserSession.cs | 7 ------ ImageBoardServerApp/Pages/Index.razor | 22 ++++++++++++++----- ImageBoardServerApp/Pages/Login.razor | 2 +- ImageBoardServerApp/Shared/MainLayout.razor | 3 ++- 5 files changed, 21 insertions(+), 16 deletions(-) delete mode 100644 ImageBoardServerApp/Auth/UserSession.cs diff --git a/ImageBoardServerApp/Auth/CustomAuthenticationStateProvider.cs b/ImageBoardServerApp/Auth/CustomAuthenticationStateProvider.cs index d1bb214..86c5e5d 100644 --- a/ImageBoardServerApp/Auth/CustomAuthenticationStateProvider.cs +++ b/ImageBoardServerApp/Auth/CustomAuthenticationStateProvider.cs @@ -25,7 +25,8 @@ public class CustomAuthenticationStateProvider : AuthenticationStateProvider return await Task.FromResult(new AuthenticationState(_anonymous)); var claimsPrincipal = new ClaimsPrincipal(new ClaimsIdentity(new List { - new Claim(ClaimTypes.Email, userSession.Email), + //new Claim(ClaimTypes.Email, userSession.Email), + new Claim(ClaimTypes.Name, userSession.Email), new Claim(ClaimTypes.Role, userSession.Role) }, "CustomAuth")); return await Task.FromResult(new AuthenticationState(claimsPrincipal)); diff --git a/ImageBoardServerApp/Auth/UserSession.cs b/ImageBoardServerApp/Auth/UserSession.cs deleted file mode 100644 index 1bfa832..0000000 --- a/ImageBoardServerApp/Auth/UserSession.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace ImageBoardServerApp.Auth; - -public class UserSession -{ - public string Email { get; set; } - public string Role { get; set; } -} \ No newline at end of file diff --git a/ImageBoardServerApp/Pages/Index.razor b/ImageBoardServerApp/Pages/Index.razor index d3d948d..513b766 100644 --- a/ImageBoardServerApp/Pages/Index.razor +++ b/ImageBoardServerApp/Pages/Index.razor @@ -1,24 +1,34 @@ @page "/" @using ImageBoardServerApp.Data.Repository +@using ImageBoardServerApp.Auth +@inject AuthenticationStateProvider authStateProvider

BulletBoard

This is a simple Imageboard made in Razor.
We're currently hosting @amountOfPosts Threads with @amountOfComments Comments from @amountOfUsers Users.
-
- If you are a member of the server team please log in - - [here] - . -
+@Details @code{ + private string Details { get; set; } + private int amountOfPosts = -1; private int amountOfComments = -1; private int amountOfUsers = -1; protected override async Task OnInitializedAsync() { + var cauthStateProvder = (CustomAuthenticationStateProvider)authStateProvider; + var user = await cauthStateProvder.GetAuthenticationStateAsync(); + if (user.User.Identity.IsAuthenticated) + { + var usr = user.User.Identity.Name; + Details = $"Welcome {usr}"; + } + else + { + Details = "Please log in first."; + } var posts = await PostsRepository.getPostsAsync(); amountOfPosts = posts.Count; var comments = await CommentsRepository.getCommentsAsync(); diff --git a/ImageBoardServerApp/Pages/Login.razor b/ImageBoardServerApp/Pages/Login.razor index 4058ea7..5ead788 100644 --- a/ImageBoardServerApp/Pages/Login.razor +++ b/ImageBoardServerApp/Pages/Login.razor @@ -17,7 +17,7 @@ - + [Login] diff --git a/ImageBoardServerApp/Shared/MainLayout.razor b/ImageBoardServerApp/Shared/MainLayout.razor index 2c83802..ef0cbc7 100644 --- a/ImageBoardServerApp/Shared/MainLayout.razor +++ b/ImageBoardServerApp/Shared/MainLayout.razor @@ -11,6 +11,7 @@
+
[FAQ] [Rules] @@ -19,7 +20,7 @@ [Logout] - [Login] + [Login]