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
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("GetAuthToken")]
|
|
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;
|
|
}
|
|
|
|
|
|
}
|
|
}
|