Example #1
0
        public async Task SaveAuthorizerInfoAsync(OpenAuthInfo info)
        {
            var entity = Context.OpenAuthInfos.FirstOrDefault(a => a.BusinessId == info.BusinessId);

            if (entity == null)
            {
                await Context.AddAsync(info);
            }
            else
            {
                // 修改之前的授权
                entity.AppId        = info.AppId;
                entity.RefreshToken = info.RefreshToken;
                entity.ModifyTime   = DateTime.Now;
            }
            await Context.SaveChangesAsync();
        }
Example #2
0
        /// <summary>
        /// 授权成功后的回调URL
        /// </summary>
        /// <param name="auth_code"></param>
        /// <param name="expires_in"></param>
        /// <returns></returns>
        public async Task <IActionResult> AuthSuccess([FromQuery] string auth_code, [FromQuery] int expires_in, [FromServices] AppData appData)
        {
            var token = await Service.GetOpenTokenAsync();

            var result = await WxHelper.GetAuthTokenAsync(auth_code, token);

            var openAuth = new OpenAuthInfo
            {
                AppId        = result.authorization_info.authorizer_appid,
                BusinessId   = Business.ID,
                CreateTime   = DateTime.Now,
                RefreshToken = result.authorization_info.authorizer_refresh_token
            };
            await Service.SaveAuthorizerInfoAsync(openAuth);

            return(RedirectToAction("AuthInfo"));
        }