@AgaveJoe
thank you for your reply, I'm quite new with this, but I think I use a very simple authentication like below:
services.Configure<CookiePolicyOptions>(options =>
{
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie();
in Home/Login Controller
[HttpPost]
[Route("/Home/Login")]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public JsonResult Login(string user_code, string password, string tenant_code)
{
....
var _cookie_options = new CookieOptions
{
Expires = DateTime.Now.AddDays(1),
IsEssential = true
};
HttpContext.Response.Cookies.Append(Models.AppSettingsModel.Application.Cookie_Name, _jo_login_cookie.ToString(Newtonsoft.Json.Formatting.Indented), _cookie_options);
HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(_claims_identity));
and when Logging out
[HttpGet]
[Route("/Home/Logout")]
public async Task<IActionResult> Logout()
{
if (HttpContext.Request.Cookies.Count > 0)
{
var siteCookies = HttpContext.Request.Cookies.Where(c => c.Key.Contains(Models.AppSettingsModel.Application.Cookie_Name) || c.Key.Contains("PTX-User_Info"));
foreach (var cookie in siteCookies)
{
Response.Cookies.Delete(cookie.Key);
}
}
await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);
HttpContext.Session.Clear();
return RedirectToAction("Login");
}
and put [Authorize] when required in all controllers
any suggestion?