- Timestamp:
- 01/21/26 18:00:12 (8 months ago)
- Branches:
- master
- Children:
- dced479
- Parents:
- 97a2322
- Location:
- iknow-api
- Files:
-
- 3 edited
-
Controllers/AuthController.cs (modified) (4 diffs)
-
DTOs/RefreshTokenDTO.cs (modified) (1 diff)
-
Services/Implementations/AuthService.cs (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
iknow-api/Controllers/AuthController.cs
r97a2322 rce1f8d4 2 2 using iknow_api.Services; 3 3 using Microsoft.AspNetCore.Authorization; 4 using Microsoft.AspNetCore.Authentication.JwtBearer;5 4 using Microsoft.AspNetCore.Mvc; 6 5 … … 37 36 public async Task<IActionResult> Register([FromBody] RegisterDto request) 38 37 { 39 //Console.WriteLine(request);40 41 38 try 42 39 { 43 var result =await _authService.RegisterAsync(request);40 await _authService.RegisterAsync(request); 44 41 return Ok("User registered successfully"); 45 42 } … … 57 54 public async Task<IActionResult> Login([FromBody] LoginDto request) 58 55 { 59 var token = await _authService.LoginAsync(request); 60 if (token == null) return Unauthorized("Invalid credentials"); 61 return Ok(new { Token = token }); 56 var result = await _authService.LoginAsync(request); 57 if (result == null) return Unauthorized("Invalid credentials"); 58 59 return Ok(new 60 { 61 token = result.AccessToken, 62 refreshToken = result.RefreshToken, 63 role = result.Role 64 }); 62 65 } 63 66 64 67 [Authorize] 65 68 [HttpGet("getstring")] 66 public async Task<IActionResult>getstring()69 public IActionResult getstring() 67 70 { 68 71 return Ok(new { message = "You are authorized!" }); … … 73 76 { 74 77 if (await _refreshTokenService.VerifyRefreshToken(verifyRefreshToken)) 75 { return Ok(await _authService.GenerateNewJWT(verifyRefreshToken)); } 76 else 77 { return BadRequest(new { message = "No token found!" }); } 78 { 79 return Ok(await _authService.GenerateNewJWT(verifyRefreshToken)); 80 } 81 82 return BadRequest(new { message = "No token found!" }); 78 83 } 79 84 -
iknow-api/DTOs/RefreshTokenDTO.cs
r97a2322 rce1f8d4 3 3 public class VerifyRefreshTokenDto 4 4 { 5 public string token { get; set; } 5 public string token { get; set; } = string.Empty; 6 6 } 7 7 8 public class AuthResultDto 8 9 { 9 10 public string AccessToken { get; set; } = string.Empty; 10 11 public string? RefreshToken { get; set; } 12 public string Role { get; set; } = string.Empty; 11 13 } 12 14 } -
iknow-api/Services/Implementations/AuthService.cs
r97a2322 rce1f8d4 3 3 using System.Text; 4 4 using BCrypt.Net; 5 using iknow_api.Services;6 5 using iknow_api.Models; 7 6 using iknow_api.DTOs; … … 9 8 using Microsoft.IdentityModel.Tokens; 10 9 using iknow_api.Data; 11 using Microsoft.EntityFrameworkCore;12 10 13 11 namespace iknow_api.Services … … 125 123 return null; 126 124 127 var result = new AuthResultDto125 var result = new AuthResultDto 128 126 { 129 AccessToken = CreateToken(user) 127 AccessToken = CreateToken(user), 128 Role = user.Role.ToString() 130 129 }; 131 130 … … 146 145 { 147 146 int userid = await _refreshTokenRepository.GetUserId(token.token) ?? 0; 148 User ?user = await _userRepository.GetOnlyUserByIdAsync(userid);147 User? user = await _userRepository.GetOnlyUserByIdAsync(userid); 149 148 150 var result = new AuthResultDto 149 if (user == null) 150 throw new InvalidOperationException("User not found for provided refresh token."); 151 152 return new AuthResultDto 151 153 { 152 AccessToken = CreateToken(user) 154 AccessToken = CreateToken(user), 155 Role = user.Role.ToString() 153 156 }; 154 155 return result;156 157 } 157 158 … … 172 173 var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); 173 174 174 var token= new JwtSecurityToken(175 var jwt = new JwtSecurityToken( 175 176 issuer: "iknow-api", 176 177 audience: "iknow-api", … … 180 181 ); 181 182 182 return new JwtSecurityTokenHandler().WriteToken( token);183 return new JwtSecurityTokenHandler().WriteToken(jwt); 183 184 } 184 185 }
Note:
See TracChangeset
for help on using the changeset viewer.
