ASC.Web.Api: Authentication: Setting cookies based on the session parameter

This commit is contained in:
Andrey Savihin 2023-07-04 14:21:19 +03:00
parent 289ff439e1
commit 157605bc0b

View File

@ -225,6 +225,7 @@ public class AuthenticationController : ControllerBase
var wrapper = await GetUser(inDto); var wrapper = await GetUser(inDto);
var viaEmail = wrapper.ViaEmail; var viaEmail = wrapper.ViaEmail;
var user = wrapper.UserInfo; var user = wrapper.UserInfo;
var session = inDto.Session;
if (user == null || Equals(user, Constants.LostUser)) if (user == null || Equals(user, Constants.LostUser))
{ {
@ -275,16 +276,22 @@ public class AuthenticationController : ControllerBase
try try
{ {
var action = viaEmail ? MessageAction.LoginSuccessViaApi : MessageAction.LoginSuccessViaApiSocialAccount; var action = viaEmail ? MessageAction.LoginSuccessViaApi : MessageAction.LoginSuccessViaApiSocialAccount;
var token = _cookiesManager.AuthenticateMeAndSetCookies(user.Tenant, user.Id, action); var token = _cookiesManager.AuthenticateMeAndSetCookies(user.Tenant, user.Id, action, session);
var tenant = _tenantManager.GetCurrentTenant().Id; var outDto = new AuthenticationTokenDto
var expires = _tenantCookieSettingsHelper.GetExpiresTime(tenant);
return new AuthenticationTokenDto
{ {
Token = token, Token = token
Expires = new ApiDateTime(_tenantManager, _timeZoneConverter, expires)
}; };
if (!session)
{
var tenant = _tenantManager.GetCurrentTenant().Id;
var expires = _tenantCookieSettingsHelper.GetExpiresTime(tenant);
outDto.Expires = new ApiDateTime(_tenantManager, _timeZoneConverter, expires);
}
return outDto;
} }
catch (Exception ex) catch (Exception ex)
{ {