public async Task <IActionResult> WxWebLogin(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["wx:appId"]; var wxLoginUserId = await userAuthBusiness.WxWebLoin(userInfo); //将用户Id提交到Redis 缓存 HttpContext.Session.Set(UserAuthBusiness.UserAuthFrontendKey, Encoding.UTF8.GetBytes(wxLoginUserId)); await HttpContext.Session.CommitAsync(); await SetAuth(wxLoginUserId); return(Redirect(url)); }
public async Task <UserAccessTokenResult> GetMPAccessToken(string code) { var appId = settingService.WxMPSetting.AppKey; var appsecret = settingService.WxMPSetting.AppSecret; var result = await WebAppAutherize.GetUserAccessToken(appId, appsecret, code); //UserAccessTokenResult = result.Item1; logger.LogInformation("result.Item2================================" + result.Item2); //MPAccessToken = UserAccessTokenResult.AccessToken; return(result.Item1); }