Added CORS, added specific type for token in AuthToken.cs, added login page to blazor client
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
using ApplicationLayer.Services.AuthServices.Common;
|
||||
using Domains.Users;
|
||||
|
||||
namespace ApplicationLayer.InfrastructureServicesInterfaces;
|
||||
|
||||
/// Generates jwt-tokens
|
||||
public interface ITokenGenerator
|
||||
{
|
||||
/// returns jwt-token for specific user
|
||||
AuthToken CreateToken(User user);
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
namespace ApplicationLayer.Services.AuthServices.Common
|
||||
{
|
||||
public record AuthToken(string Token);
|
||||
}
|
||||
@@ -1,4 +1,6 @@
|
||||
using ApplicationLayer.Services.AuthServices.LoginService.Exceptions;
|
||||
using ApplicationLayer.InfrastructureServicesInterfaces;
|
||||
using ApplicationLayer.Services.AuthServices.Common;
|
||||
using ApplicationLayer.Services.AuthServices.LoginService.Exceptions;
|
||||
using ApplicationLayer.Services.AuthServices.NeededServices;
|
||||
using ApplicationLayer.Services.AuthServices.Requests;
|
||||
using Domains.Users;
|
||||
@@ -7,7 +9,7 @@ namespace ApplicationLayer.Services.AuthServices.LoginService;
|
||||
|
||||
public class DevelopmentLoginService(IUsersRepository users, ITokenGenerator tokenGenerator) : ILoginService
|
||||
{
|
||||
async Task<string> ILoginService.LoginAsync(LoginRequest request, CancellationToken cancellationToken)
|
||||
async Task<AuthToken> ILoginService.LoginAsync(LoginRequest request, CancellationToken cancellationToken)
|
||||
{
|
||||
if (request.AuthData is { Email: "admin@mail.ru", Password: "admin" })
|
||||
{
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using ApplicationLayer.Services.AuthServices.Requests;
|
||||
using ApplicationLayer.Services.AuthServices.Common;
|
||||
using ApplicationLayer.Services.AuthServices.Requests;
|
||||
|
||||
namespace ApplicationLayer.Services.AuthServices.LoginService;
|
||||
|
||||
@@ -7,5 +8,5 @@ public interface ILoginService
|
||||
{
|
||||
/// Handle login request
|
||||
/// <returns>JWT-token</returns>
|
||||
Task<string> LoginAsync(LoginRequest request, CancellationToken cancellationToken);
|
||||
Task<AuthToken> LoginAsync(LoginRequest request, CancellationToken cancellationToken);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using ApplicationLayer.Services.AuthServices.LoginService.Exceptions;
|
||||
using ApplicationLayer.InfrastructureServicesInterfaces;
|
||||
using ApplicationLayer.Services.AuthServices.Common;
|
||||
using ApplicationLayer.Services.AuthServices.LoginService.Exceptions;
|
||||
using ApplicationLayer.Services.AuthServices.NeededServices;
|
||||
using ApplicationLayer.Services.AuthServices.Requests;
|
||||
|
||||
@@ -7,7 +9,7 @@ namespace ApplicationLayer.Services.AuthServices.LoginService;
|
||||
/// <inheritdoc cref="ILoginService" />
|
||||
public class LoginService(IUsersRepository users, ITokenGenerator tokenGenerator) : ILoginService
|
||||
{
|
||||
async Task<string> ILoginService.LoginAsync(LoginRequest request, CancellationToken cancellationToken)
|
||||
async Task<AuthToken> ILoginService.LoginAsync(LoginRequest request, CancellationToken cancellationToken)
|
||||
{
|
||||
var user = await users.FindByEmailAsync(request.AuthData.Email, cancellationToken);
|
||||
if (user is null || user.Password != request.AuthData.Password)
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
using Domains.Users;
|
||||
|
||||
namespace ApplicationLayer.Services.AuthServices.NeededServices;
|
||||
|
||||
/// Generates jwt-tokens
|
||||
public interface ITokenGenerator
|
||||
{
|
||||
/// returns jwt-token for specific user
|
||||
string CreateToken(User user);
|
||||
}
|
||||
Reference in New Issue
Block a user