public async Task <IActionResult> WxLogin(string code, string url, string state) { var accessTokenResult = await WebAppAutherize.GetUserAccessToken(WxAppId, WxAppSecret, code); await distributedCache.SetValue(new RedisDocument <UserAccessTokenResult> { ExpireTime = DateTime.Now.AddSeconds(accessTokenResult.ExpiresIn), Key = WxAppId + "_" + accessTokenResult.OpenId + "_AccessToken", SetTime = DateTime.Now, Value = accessTokenResult }); var userInfo = await WebAppAutherize.GetUserInfo(accessTokenResult.AccessToken, accessTokenResult.OpenId); userInfo.AppId = configuration["Ciyuanya:Wx:WebAppId"]; var wxLoginUserId = await userAccountBusiness.WxWebLoin(userInfo); //将用户Id提交到Redis 缓存 HttpContext.Session.Set(UserAccountBusiness.UserAccountSessionkey, Encoding.UTF8.GetBytes(wxLoginUserId)); await HttpContext.Session.CommitAsync(); await SetAuth(wxLoginUserId); return(Redirect(url)); }