/
ilyamikhaylov07
/
integration_solution_course
Обзор
Документация
Войти
/
ilyamikhaylov07
/
integration_solution_course
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
TaskAPI/Controllers/V1/AuthController.cs
48 строк
2 KB
Ilya
Добавлен новый функционал по пользователю, пагинация, опциональные поля и внутреннее api для метрик
01 окт 2025, 09:24
01 окт 2025, 09:24
2d34a6d
Код
Авторство
О чём код?
using Microsoft.AspNetCore.Mvc; using TaskAPI.DTOs.AuthDTOs; using TaskAPI.Services; namespace TaskAPI.Controllers.V1 { /// <summary> /// Контроллер аутентификации пользователей. /// Предоставляет методы для входа в систему и получения JWT-токенов. /// </summary> [ApiController] [ApiVersion("1.0")] [Route("api/[controller]/[action]")] public class AuthController : Controller { private readonly AuthService _authService; /// <summary> /// Конструктор контроллера аутентификации. /// </summary> /// <param name="authService">Сервис аутентификации, используемый для генерации токенов.</param> public AuthController(AuthService authService) { _authService = authService; } /// <summary> /// Выполняет вход пользователя в систему. /// </summary> /// <param name="dto">DTO с данными для входа (логин и пароль).</param> /// <returns> /// Возвращает HTTP 200 с JWT-токенами в случае успешного входа. /// В случае ошибки аутентификации возвращает соответствующий код ошибки. /// </returns> [HttpPost] [ProducesResponseType(typeof(TokenDTO), StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status404NotFound)] public async Task<IActionResult> SignIn([FromBody] LoginDTO dto) { var result = await _authService.GetTokensAsync(dto); if (result == null) return NotFound("Invalid login or password"); return Ok(result); } } }