附上 代码
这段代码 var result = OAuth2Api.GetUserId(accessToken, code, 1); 报了
if (System.Web.HttpContext.Current.Session["_wxUser"] == null)
{
var code = System.Web.HttpContext.Current.Request.QueryString["code"];
if (!string.IsNullOrWhiteSpace(code))
{
try
{
var accessToken = AccessTokenContainer.TryGetToken(ConfigService.WeiXinCorpID, ConfigService.WeiXinSecret);
var result = OAuth2Api.GetUserId(accessToken, code, 1);
// 写日志
using (var db = new GWDbContext())
{
var user = db.Contacts.FirstOrDefault(u => u.UserCode == result.UserId);
System.Web.HttpContext.Current.Session["_wxUser"] = user;
}
}
catch (Exception ex)
{
// 写日志
}
}
else
{
// 此页面引导用户点击授权
var absoluteUri = HttpUtility.UrlEncode(System.Web.HttpContext.Current.Request.Url.ToString());
var RedirectUrl = OAuth2Api.GetCode(ConfigService.WeiXinCorpID, absoluteUri, "E2Home");
filterContext.Result = new RedirectResult(RedirectUrl);
}
你混淆了两个概念,web和app的授权是不一样的。