diff options
author | HombreLaser <sebastian-440@live.com> | 2022-11-20 16:25:07 -0600 |
---|---|---|
committer | HombreLaser <sebastian-440@live.com> | 2022-11-20 16:25:07 -0600 |
commit | 0eb1eacf11f8c713478c08633f92d7579da91992 (patch) | |
tree | 5f3704778ac581493369b34ace33fcfb29caca4f /Services | |
parent | 61e9edfd4607b5eab5c291f49cdc3b2c7cb9d654 (diff) |
Añadido controlador de administradores
Diffstat (limited to 'Services')
-rw-r--r-- | Services/IUserAccountService.cs | 8 | ||||
-rw-r--r-- | Services/TokenGenerator.cs | 2 | ||||
-rw-r--r-- | Services/UserAccountService.cs | 21 |
3 files changed, 30 insertions, 1 deletions
diff --git a/Services/IUserAccountService.cs b/Services/IUserAccountService.cs new file mode 100644 index 0000000..900e562 --- /dev/null +++ b/Services/IUserAccountService.cs @@ -0,0 +1,8 @@ +using Microsoft.AspNetCore.Identity; +using BackendPIA.Models; + +namespace BackendPIA.Services { + public interface IUserAccountService { + public Task<IdentityResult> CreateUserAccount(UserAccount user, string password, string role); + } +}
\ No newline at end of file diff --git a/Services/TokenGenerator.cs b/Services/TokenGenerator.cs index 3a99e09..70aca4a 100644 --- a/Services/TokenGenerator.cs +++ b/Services/TokenGenerator.cs @@ -16,7 +16,7 @@ namespace BackendPIA.Services { public string Generate(UserAccount user, string role) { var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_key)); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); - var expiration = DateTime.UtcNow.AddMinutes(20); + var expiration = DateTime.UtcNow.AddMinutes(1); //var issuer = _configuration["Jwt:Issuer"]; var claims = new List<Claim> { new Claim("sid", user.Id), diff --git a/Services/UserAccountService.cs b/Services/UserAccountService.cs new file mode 100644 index 0000000..e81ea76 --- /dev/null +++ b/Services/UserAccountService.cs @@ -0,0 +1,21 @@ +using Microsoft.AspNetCore.Identity; +using BackendPIA.Models; + +namespace BackendPIA.Services { + public class UserAccountService : IUserAccountService { + private readonly UserManager<UserAccount> _manager; + + public UserAccountService(UserManager<UserAccount> manager) { + _manager = manager; + } + + public async Task<IdentityResult> CreateUserAccount(UserAccount user, string password, string role) { + var result = await _manager.CreateAsync(user, password); + + if(result.Succeeded) + await _manager.AddToRoleAsync(user, role); + + return result; + } + } +}
\ No newline at end of file |