From fac6f41910352920414f13a8e0f76db5763ce86a Mon Sep 17 00:00:00 2001 From: Barbara Post Date: Sun, 25 Jan 2026 16:10:59 +0100 Subject: [PATCH] =?UTF-8?q?Ajout=20Register.razor.=20D=C3=A9sactivation=20?= =?UTF-8?q?validation=20formulaire.=20Pas=20d'appel=20au=20service=20lors?= =?UTF-8?q?=20de=20l'action=20Register?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/Pages/Account/Login.razor | 4 +- .../Components/Pages/Account/Register.razor | 57 +++++++++++++++++++ .../Models/ViewModels/UserLogin.cs | 5 +- .../Models/ViewModels/UserRegister.cs | 4 +- .../Services/AuthService/AuthService.cs | 13 +++-- .../Services/AuthService/IAuthService.cs | 2 +- 6 files changed, 74 insertions(+), 11 deletions(-) create mode 100644 BlazorPolicyAuth/Components/Pages/Account/Register.razor diff --git a/BlazorPolicyAuth/Components/Pages/Account/Login.razor b/BlazorPolicyAuth/Components/Pages/Account/Login.razor index 1168014..dc709cc 100644 --- a/BlazorPolicyAuth/Components/Pages/Account/Login.razor +++ b/BlazorPolicyAuth/Components/Pages/Account/Login.razor @@ -12,7 +12,7 @@

Login Form

- +
@@ -50,6 +50,8 @@ private async Task Authenticate() { + Console.WriteLine("***"); + Console.WriteLine(userLogin.UserName); var result = await AuthService.Login(userLogin.UserName, userLogin.Password); if (result.Success) { diff --git a/BlazorPolicyAuth/Components/Pages/Account/Register.razor b/BlazorPolicyAuth/Components/Pages/Account/Register.razor new file mode 100644 index 0000000..b32b85f --- /dev/null +++ b/BlazorPolicyAuth/Components/Pages/Account/Register.razor @@ -0,0 +1,57 @@ +@page "/register" +@using BlazorPolicyAuth.Models.ViewModels + +@inject AuthenticationStateProvider AuthenticationStateProvider +@inject NavigationManager NavigationManager +@inject IAuthService AuthService + +Register + + + +
+
+

Register Form

+
+ + + +
+
+ + + +
+
+ + + +
+
+ +
+
+

You have an account? Sign In

+
+
+
+
+ +
+ @errorMessage +
+ +@code { + UserRegister user = new(); + + private string message = string.Empty; + private string messageCssClass = string.Empty; + private string errorMessage = string.Empty; + + async void HandleRegistration() + { + var result = await AuthService.Register(user.Email, user.Password); + message = result.Message; + messageCssClass = result.Success ? "text-success" : "text-danger"; + } +} \ No newline at end of file diff --git a/BlazorPolicyAuth/Models/ViewModels/UserLogin.cs b/BlazorPolicyAuth/Models/ViewModels/UserLogin.cs index 6c20e0a..1490c6d 100644 --- a/BlazorPolicyAuth/Models/ViewModels/UserLogin.cs +++ b/BlazorPolicyAuth/Models/ViewModels/UserLogin.cs @@ -4,8 +4,9 @@ namespace BlazorPolicyAuth.Models.ViewModels; public class UserLogin { - [Required, EmailAddress] + //[Required, EmailAddress] + //[Required] public string UserName { get; set; } = string.Empty; - [Required] + //[Required] public string Password { get; set; } } \ No newline at end of file diff --git a/BlazorPolicyAuth/Models/ViewModels/UserRegister.cs b/BlazorPolicyAuth/Models/ViewModels/UserRegister.cs index ec3dd3f..af43a5e 100644 --- a/BlazorPolicyAuth/Models/ViewModels/UserRegister.cs +++ b/BlazorPolicyAuth/Models/ViewModels/UserRegister.cs @@ -4,9 +4,9 @@ namespace BlazorPolicyAuth.Models.ViewModels { public class UserRegister { - [Required, EmailAddress] + //[Required, EmailAddress] public string Email { get; set; } = string.Empty; - [Required, StringLength(100, MinimumLength = 5)] + //[Required, StringLength(100, MinimumLength = 5)] public string Password { get; set; } = string.Empty; [Compare("Password", ErrorMessage = "The password do not match.")] public string ConfirmPassword { get; set; } = string.Empty; diff --git a/BlazorPolicyAuth/Services/AuthService/AuthService.cs b/BlazorPolicyAuth/Services/AuthService/AuthService.cs index e9a015e..349901f 100644 --- a/BlazorPolicyAuth/Services/AuthService/AuthService.cs +++ b/BlazorPolicyAuth/Services/AuthService/AuthService.cs @@ -25,17 +25,20 @@ public class AuthService : IAuthService _httpContextAccessor = httpContextAccessor; } - public async Task> Register(UserAccount user, string password) + public async Task> Register ( string userName, string password) { - if (await UserExists(user.UserName)) + if (await UserExists(userName)) { return new ServiceResponse { Success = false, Message = "User already exist." }; } CreatePasswordHash(password, out byte[] passwordHash, out byte[] passwordSalt); - - user.PasswordHash = passwordHash; - user.PasswordSalt = passwordSalt; + var user = new UserAccount + { + UserName = userName, + PasswordHash = passwordHash, + PasswordSalt = passwordSalt + }; _context.UserAccounts.Add(user); await _context.SaveChangesAsync(); diff --git a/BlazorPolicyAuth/Services/AuthService/IAuthService.cs b/BlazorPolicyAuth/Services/AuthService/IAuthService.cs index ce36661..6ef0258 100644 --- a/BlazorPolicyAuth/Services/AuthService/IAuthService.cs +++ b/BlazorPolicyAuth/Services/AuthService/IAuthService.cs @@ -5,7 +5,7 @@ namespace BlazorPolicyAuth.Services.AuthService; public interface IAuthService { - Task> Register(UserAccount user, string password); + Task> Register(string userName, string password); Task UserExists(string email); Task> Login(string email, string password); Task> ChangePassword(int userId, string newPassword);