Added login/register function. Implemented authentication. Started authorization
This commit is contained in:
13
Moonlight.Shared/Http/Requests/Auth/LoginRequest.cs
Normal file
13
Moonlight.Shared/Http/Requests/Auth/LoginRequest.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Moonlight.Shared.Http.Requests.Auth;
|
||||
|
||||
public class LoginRequest
|
||||
{
|
||||
[Required(ErrorMessage = "You need to provide an email address")]
|
||||
[EmailAddress(ErrorMessage = "You need to provide a valid email address")]
|
||||
public string Email { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "You need to provide a password")]
|
||||
public string Password { get; set; }
|
||||
}
|
||||
19
Moonlight.Shared/Http/Requests/Auth/RegisterRequest.cs
Normal file
19
Moonlight.Shared/Http/Requests/Auth/RegisterRequest.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Moonlight.Shared.Http.Requests.Auth;
|
||||
|
||||
public class RegisterRequest
|
||||
{
|
||||
[Required(ErrorMessage = "You need to provide an email address")]
|
||||
[EmailAddress(ErrorMessage = "You need to provide a valid email address")]
|
||||
public string Email { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "You need to provide a username")]
|
||||
[RegularExpression("^[a-z][a-z0-9]*$", ErrorMessage = "Usernames can only contain lowercase characters and numbers and should not start with a number")]
|
||||
public string Username { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "You need to provide a password")]
|
||||
[MinLength(8, ErrorMessage = "Your password needs to be at least 8 characters long")]
|
||||
[MaxLength(256, ErrorMessage = "Your password should not exceed the length of 256 characters")]
|
||||
public string Password { get; set; }
|
||||
}
|
||||
6
Moonlight.Shared/Http/Responses/Auth/LoginResponse.cs
Normal file
6
Moonlight.Shared/Http/Responses/Auth/LoginResponse.cs
Normal file
@@ -0,0 +1,6 @@
|
||||
namespace Moonlight.Shared.Http.Responses.Auth;
|
||||
|
||||
public class LoginResponse
|
||||
{
|
||||
public string Token { get; set; }
|
||||
}
|
||||
6
Moonlight.Shared/Http/Responses/Auth/RegisterResponse.cs
Normal file
6
Moonlight.Shared/Http/Responses/Auth/RegisterResponse.cs
Normal file
@@ -0,0 +1,6 @@
|
||||
namespace Moonlight.Shared.Http.Responses.Auth;
|
||||
|
||||
public class RegisterResponse
|
||||
{
|
||||
public string Token { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user