Потерянные данные сеанса после перенаправления MS AD Oauth2 - PullRequest
0 голосов
/ 28 января 2020

Я теряю исходные данные сеанса после перенаправления 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);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...