summaryrefslogtreecommitdiff
path: root/Services
diff options
context:
space:
mode:
authorHombreLaser <sebastian-440@live.com>2022-11-20 16:25:07 -0600
committerHombreLaser <sebastian-440@live.com>2022-11-20 16:25:07 -0600
commit0eb1eacf11f8c713478c08633f92d7579da91992 (patch)
tree5f3704778ac581493369b34ace33fcfb29caca4f /Services
parent61e9edfd4607b5eab5c291f49cdc3b2c7cb9d654 (diff)
Añadido controlador de administradores
Diffstat (limited to 'Services')
-rw-r--r--Services/IUserAccountService.cs8
-rw-r--r--Services/TokenGenerator.cs2
-rw-r--r--Services/UserAccountService.cs21
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