ASC.Web.Api: Authentication: Setting cookies based on the session parameter
This commit is contained in:
parent
289ff439e1
commit
157605bc0b
@ -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)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user