1、微信认证

1、小程序后台认证

小程序界面点击授权登录获取code,传递给后台,后台调用如下接口

复制代码
public async Task<WxResult> AuthenticationAsync(string code)
        {
            var appId = ConfigurationManager.AppSettings["WeChat:Appid"];
            var appSecret = ConfigurationManager.AppSettings["WeChat:Secret"];
            var url = $"https://api.weixin.qq.com/sns/jscode2session?appid={appId}&secret={appSecret}&js_code={code}&grant_type=authorization_code"; 
            var webRequest = WebRequest.CreateHttp(url);
            webRequest.Method = "Get";
            var webResponse = (HttpWebResponse)webRequest.GetResponse();
            if (webResponse.StatusCode == HttpStatusCode.OK)
            {
                using (var stream = webResponse.GetResponseStream())
                {
                    using (var reader = new StreamReader(stream))
                    {
                        string content = await reader.ReadToEndAsync();
                        var result=JsonConvert.DeserializeObject<WxAuthenticationResultModel>(content);
                        if(string.IsNullOrEmpty(result?.openid))
                            return new WxAuthenticationFailedResult("微信接口openid为空");
                        return new WxAuthenticationSucceedResult() { OpenId = result.openid };
                    }
                }
            }
            else {
                return new WxAuthenticationFailedResult("微信接口调用失败");
            }
        }
复制代码

注意:首先要有开发者权限,其次是有appid和appsecret(管理后台获得)

posted @   郑小超  阅读(72)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2017-05-19 WCF系列教程之WCF操作协定
2017-05-19 WCF系列教程之WCF实例化
点击右上角即可分享
微信分享提示