首页 > 其他 > 详细

senparc 第三方授权回调,保存授权信息到文件

时间:2019-07-30 14:26:58      阅读:148      评论:0      收藏:0      [点我收藏+]
[HttpGet]
        public async Task<IActionResult> OpenOAuthCallback(string auth_code, string appletId)
        {
            try
            {
                #region 使用ComponentContainer
                //获取OAuth授权结果
                QueryAuthResult queryAuthResult;
                try
                {
                    queryAuthResult = ComponentContainer.GetQueryAuthResult(_senparcWeixinSetting.Component_Appid, auth_code, false);
                }
                catch (Exception ex)
                {
                    throw new Exception("QueryAuthResult:" + ex.Message);
                }
                #endregion
                if (queryAuthResult.authorization_info == null) return Json(queryAuthResult);
                var dir = Path.Combine(Environment.CurrentDirectory + @"/App_Data/AuthorizerInfo/" + _senparcWeixinSetting.Component_Appid);
                if (!Directory.Exists(dir))
                {
                    Directory.CreateDirectory(dir);
                }
                var file = Path.Combine(dir, string.Format("{0}.bin", queryAuthResult.authorization_info.authorizer_appid));
                //记录authorization_info(也可以存入数据库或其他可以持久化的地方)
                using (FileStream fs = new FileStream(file, FileMode.OpenOrCreate, FileAccess.ReadWrite))
                {
                    var bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
                    bf.Serialize(fs, new RefreshAuthorizerTokenResult { authorizer_access_token = queryAuthResult.authorization_info.authorizer_access_token, expires_in = queryAuthResult.authorization_info.expires_in, authorizer_refresh_token = queryAuthResult.authorization_info.authorizer_refresh_token });
                }

                //授权成功后,更新客户小程序信息 queryAuthResult.authorization_info.miniprograminf
                var getAuthorizerInfoResult = AuthorizerContainer.GetAuthorizerInfoResult(_senparcWeixinSetting.Component_Appid, queryAuthResult.authorization_info.authorizer_appid);
               
                return Json(queryAuthResult.authorization_info);
            }
            catch (ErrorJsonResultException ex)
            {
                return Content(ex.Message);
            }
        }

 

senparc 第三方授权回调,保存授权信息到文件

原文:https://www.cnblogs.com/SmilePastaLi/p/11269509.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!