Я теряю исходные данные сеанса после перенаправления MS AD Oauth2 сегодня. Теперь это совершенно новый сеанс после перенаправления на https://login.microsoftonline.com/************** / oauth2 / v2.0 / authorize и обратно ". Но это сработало через несколько дней go и потерпел неудачу после некоторых автоматических c windows10 обновлений (и повторного получения пароля tfs из диспетчера учетных данных.) Однако, если я использую свой сервер авторизации GitHub, тот же код работает и сохраняет мои данные сеанса : Сессия ["состояние"]. Чего мне не хватает? Любая помощь будет принята с благодарностью! Я делаю ручное перенаправление, используя что-то вроде ниже:
private void SignUpOAuth()
{
var state = Guid.NewGuid().ToString();
var nonce = Guid.NewGuid().ToString();
var clientId = "*************";
var scope = "openid";
var serviceUrl = ConfigurationManager.AppSettings.Get("OAuthServiceUrl");
var redirectUrl = ConfigurationManager.AppSettings.Get("OAuthRedirectUrl");
var paramtersPart = string.Format("response_type={0}&client_id={1}&scope={2}&redirect_uri={3}&aud{4}&state={5}&nonce={6}&response_mode=form_post",
"id_token+code",
HttpUtility.UrlEncode(clientId),
HttpUtility.UrlEncode(scope),
HttpUtility.UrlEncode(redirectUrl),
HttpUtility.UrlEncode(serviceUrl),
state,
nonce);
_context.Session.Add("state", state);
_context.Session.Add("nonce", nonce);
_context.Response.Redirect($"{ serviceUrl}?{paramtersPart}", false);
}