Войдите в основной домен, чтобы авторизовать дополнительный домен - FormsAuthentication c# - PullRequest
0 голосов
/ 12 февраля 2020

Мне нужна эта функция, при которой пользователь будет входить в основной домен (например, devserver.com/login), а затем в моем бэкэнде, после аутентификации он будет перенаправлять на мой поддомен (например, test.devserver.com). /дом). Теперь, как я могу сделать это на стороне сервера? В настоящее время вот мой код:

var domain = ClientConnectionHelper.GetCurrentUrl(authenticatedPSTUser.AccountName);
ConnectionStringHelper.SetConnectionString(authenticatedPSTUser.ClientConnectionString);
var myKey = new HttpCookie("mykey");
myKey["mykey"] = StringHelpers.Encrypt(authenticatedPSTUser.Email);
myKey["mykey2"] = StringHelpers.Encrypt(authenticatedPSTUser.AMSUserID.ToString());
myKey.Expires = DateTime.Now.AddDays(90);

if (!parameter.RememberMe.HasValue || !parameter.RememberMe.Value)
    myKey["validUntil"] = DateTime.UtcNow.AddMinutes(10).ToString();

if (!domain.Equals("localhost") && !ClientConnectionHelper.HasSubDomain())
{
// code here to rewrite url?
}

HttpContext.Current.Response.Cookies.Add(myKey);
HttpContext.Current.Application[authenticatedPSTUser.Email + ";" + authenticatedPSTUser.AccountName] = null;

FormsAuthentication.SetAuthCookie(authenticatedPSTUser.Email + ";" + authenticatedPSTUser.AccountName, parameter.RememberMe ?? false);

IdentityHelper.AddIdentityToContext(authenticatedPSTUser);

приведенный выше код авторизует мой основной домен, в результате чего при перенаправлении на мой поддомен он перенаправляется на страницу входа в поддомен.

...