我失去了原来的会话数据后,MS AD Oauth2重定向回今天。在重定向到https://login.microsoftonline.com/ */oauth2/v2.0/authorize”之后,现在是一个全新的会话。但是,几天前它工作了,现在在一些自动windows10更新后失败了(并从凭据管理器重新输入一些tfs密码)。然而,如果我使用我的GitHub授权服务器,相同的代码工作并保留我的会话数据:Session[“state”]。我错过了什么?任何帮助将不胜感激!我正在使用如下方法进行手动重定向:
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);
}
字符串
1条答案
按热度按时间9gm1akwq1#
解决了吗?那怎么办?我也面临着同样的问题