You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

48 lines
1.3 KiB

using DealerSelection.Api.Interface;
using DealerSelection.Api.Models;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Swashbuckle.AspNetCore.Annotations;
namespace BajajAutoBooking.WebApi.Controllers
{
[ApiController]
[Route("jwtauth")]
public class JWTAuthController : ControllerBase
{
private readonly ILogger _logger;
private IJwtTokenApi Api { get; }
public JWTAuthController(IJwtTokenApi api, ILogger<JWTAuthController> logger)
{
Api = api;
_logger = logger;
}
/// <summary>
/// GetAuthToken
/// </summary>
/// <param name="userLogin"></param>
/// <returns></returns>
[AllowAnonymous]
[HttpPost]
[SwaggerOperation(Tags = new[] { "JWTAuth" })]
[Route("gettoken")]
public async Task<ActionResult<string>> GetAuthToken(AuthValidateModel userLogin)
{
string token = await Api.GenerateToken(userLogin);
return token;
}
[HttpPost]
[Route("IsValid")]
public async Task<ActionResult<TokenValidProperty>> IsValid(TokenModel request)
{
TokenValidProperty tokenValid = await Api.IsTokenExpired(request.Token);
return tokenValid;
}
}
}