diff --git a/.gitignore b/.gitignore index eb9e238..1606c75 100644 --- a/.gitignore +++ b/.gitignore @@ -1,180 +1,7 @@ -### VisualStudioCode template -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -!.vscode/*.code-snippets - -# Local History for Visual Studio Code -.history/ - -# Built Visual Studio Code Extensions -*.vsix - -### JetBrains+all template -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/**/usage.statistics.xml -.idea/**/dictionaries -.idea/**/shelf - -# AWS User-specific -.idea/**/aws.xml - -# Generated files -.idea/**/contentModel.xml - -# Sensitive or high-churn files -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml -.idea/**/dbnavigator.xml - -# Gradle -.idea/**/gradle.xml -.idea/**/libraries - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/artifacts -# .idea/compiler.xml -# .idea/jarRepositories.xml -# .idea/modules.xml -# .idea/*.iml -# .idea/modules -# *.iml -# *.ipr - -# CMake -cmake-build-*/ - -# Mongo Explorer plugin -.idea/**/mongoSettings.xml - -# File-based project format -*.iws - -# IntelliJ -out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Cursive Clojure plugin -.idea/replstate.xml - -# SonarLint plugin -.idea/sonarlint/ - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties -fabric.properties - -# Editor-based Rest Client -.idea/httpRequests - -# Android studio 3.1+ serialized cache file -.idea/caches/build_file_checksums.ser - -### JetBrains template -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/**/usage.statistics.xml -.idea/**/dictionaries -.idea/**/shelf - -# AWS User-specific -.idea/**/aws.xml - -# Generated files -.idea/**/contentModel.xml - -# Sensitive or high-churn files -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml -.idea/**/dbnavigator.xml - -# Gradle -.idea/**/gradle.xml -.idea/**/libraries - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/artifacts -# .idea/compiler.xml -# .idea/jarRepositories.xml -# .idea/modules.xml -# .idea/*.iml -# .idea/modules -# *.iml -# *.ipr - -# CMake -cmake-build-*/ - -# Mongo Explorer plugin -.idea/**/mongoSettings.xml - -# File-based project format -*.iws - -# IntelliJ -out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Cursive Clojure plugin -.idea/replstate.xml - -# SonarLint plugin -.idea/sonarlint/ - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties -fabric.properties - -# Editor-based Rest Client -.idea/httpRequests - -# Android studio 3.1+ serialized cache file -.idea/caches/build_file_checksums.ser - -### VisualStudio template ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. ## -## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore # User-specific files *.rsuser @@ -182,6 +9,9 @@ fabric.properties *.user *.userosscache *.sln.docstates +BlazorEcommerce.db +BlazorEcommerce.db-shm +BlazorEcommerce.db-wal # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs @@ -196,7 +26,6 @@ mono_crash.* [Rr]eleases/ x64/ x86/ -[Ww][Ii][Nn]32/ [Aa][Rr][Mm]/ [Aa][Rr][Mm]64/ bld/ @@ -235,9 +64,6 @@ project.lock.json project.fragment.lock.json artifacts/ -# ASP.NET Scaffolding -ScaffoldingReadMe.txt - # StyleCop StyleCopReport.xml @@ -263,7 +89,6 @@ StyleCopReport.xml *.tmp_proj *_wpftmp.csproj *.log -*.tlog *.vspscc *.vssscc .builds @@ -315,11 +140,6 @@ _TeamCity* .axoCover/* !.axoCover/settings.json -# Coverlet is a free, cross platform Code Coverage Tool -coverage*.json -coverage*.xml -coverage*.info - # Visual Studio code coverage results *.coverage *.coveragexml @@ -467,17 +287,6 @@ node_modules/ # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) *.vbw -# Visual Studio 6 auto-generated project file (contains which files were open etc.) -*.vbp - -# Visual Studio 6 workspace and project file (working project files containing files to include in project) -*.dsw -*.dsp - -# Visual Studio 6 technical files -*.ncb -*.aps - # Visual Studio LightSwitch build output **/*.HTMLClient/GeneratedArtifacts **/*.DesktopClient/GeneratedArtifacts @@ -534,9 +343,6 @@ ASALocalRun/ # Local History for Visual Studio .localhistory/ -# Visual Studio History (VSHistory) files -.vshistory/ - # BeatPulse healthcheck temp database healthchecksdb @@ -546,31 +352,6 @@ MigrationBackup/ # Ionide (cross platform F# VS Code tools) working folder .ionide/ -# Fody - auto-generated XML schema -FodyWeavers.xsd - -# VS Code files for those working on multiple tools -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -*.code-workspace - -# Local History for Visual Studio Code -.history/ - -# Windows Installer files from build outputs -*.cab -*.msi -*.msix -*.msm -*.msp - -# JetBrains Rider -*.sln.iml - -### JetBrains+iml template # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 @@ -649,3 +430,29 @@ fabric.properties # Android studio 3.1+ serialized cache file .idea/caches/build_file_checksums.ser +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/*.code-snippets + +# Local History for Visual Studio Code +.history/ + +# Built Visual Studio Code Extensions +*.vsix + +#User Specific +*.userprefs +*.usertasks + +#Mono Project Files +*.pidb +*.resources +test-results/ +.idea/**/.idea/* +.vscode/** + +stripe*.json +stripe.exe \ No newline at end of file diff --git a/BlazorPolicyAuth/Components/Pages/Account/Login.razor b/BlazorPolicyAuth/Components/Pages/Account/Login.razor index dc709cc..720492c 100644 --- a/BlazorPolicyAuth/Components/Pages/Account/Login.razor +++ b/BlazorPolicyAuth/Components/Pages/Account/Login.razor @@ -16,8 +16,8 @@
- - + +
@@ -51,8 +51,8 @@ private async Task Authenticate() { Console.WriteLine("***"); - Console.WriteLine(userLogin.UserName); - var result = await AuthService.Login(userLogin.UserName, userLogin.Password); + Console.WriteLine(userLogin.Email); + var result = await AuthService.Login(userLogin.Email, userLogin.Password); if (result.Success) { _errorMessage = string.Empty; diff --git a/BlazorPolicyAuth/Components/Pages/Account/Register.razor b/BlazorPolicyAuth/Components/Pages/Account/Register.razor index b32b85f..65e80c3 100644 --- a/BlazorPolicyAuth/Components/Pages/Account/Register.razor +++ b/BlazorPolicyAuth/Components/Pages/Account/Register.razor @@ -41,6 +41,10 @@ @errorMessage
+
+ @message +
+ @code { UserRegister user = new(); diff --git a/BlazorPolicyAuth/Models/ViewModels/UserLogin.cs b/BlazorPolicyAuth/Models/ViewModels/UserLogin.cs index 1490c6d..8a3ca0a 100644 --- a/BlazorPolicyAuth/Models/ViewModels/UserLogin.cs +++ b/BlazorPolicyAuth/Models/ViewModels/UserLogin.cs @@ -4,9 +4,8 @@ namespace BlazorPolicyAuth.Models.ViewModels; public class UserLogin { - //[Required, EmailAddress] - //[Required] - public string UserName { get; set; } = string.Empty; - //[Required] + [Required, EmailAddress] + public string Email { get; set; } = string.Empty; + [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 af43a5e..ec3dd3f 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 349901f..e5d1536 100644 --- a/BlazorPolicyAuth/Services/AuthService/AuthService.cs +++ b/BlazorPolicyAuth/Services/AuthService/AuthService.cs @@ -25,9 +25,9 @@ public class AuthService : IAuthService _httpContextAccessor = httpContextAccessor; } - public async Task> Register ( string userName, string password) + public async Task> Register ( string email, string password) { - if (await UserExists(userName)) + if (await UserExists(email)) { return new ServiceResponse { Success = false, Message = "User already exist." }; } @@ -35,7 +35,7 @@ public class AuthService : IAuthService CreatePasswordHash(password, out byte[] passwordHash, out byte[] passwordSalt); var user = new UserAccount { - UserName = userName, + UserName = email, PasswordHash = passwordHash, PasswordSalt = passwordSalt }; diff --git a/BlazorPolicyAuth/Services/AuthService/IAuthService.cs b/BlazorPolicyAuth/Services/AuthService/IAuthService.cs index 6ef0258..b99e817 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(string userName, string password); + Task> Register(string email, string password); Task UserExists(string email); Task> Login(string email, string password); Task> ChangePassword(int userId, string newPassword);