小程序.Net Core集成微信登录第三方授权登录以及获取用户信息(一)
侧边栏壁纸
  • 累计撰写 66 篇文章
  • 累计收到 26 条评论
C#

小程序.Net Core集成微信登录第三方授权登录以及获取用户信息(一)

一缕清风
2021-10-19 / 0 评论 / 8 阅读 / 正在检测是否收录...

前言

最近项目需要用到微信一键授权登录到APP和小程序,经过琢磨后发现其实挺简单的,在此记录一下.netcore是如何集成微信登录第三方授权登录以及获取用户信息的。

准备工作

1.先去微信开放平台注册并绑定APP/小程序
2.在管理中心->应用详情页面获取APPID和Secert,如下图。
微信获取APPID

代码实现

1.获取OpenID给前端调用

        /// <summary>
        /// 微信登录
        /// </summary>
        /// <param name="jscode"></param>
        /// <returns></returns>
        [HttpPost(nameof(WxLogin))]
        public async ValueTask<IActionResult> WxLogin(string jscode)
        {
            string smallAppId = ""; //应用APPID
            string smallSecretKey = ""; //应用Secret
            //去腾讯服务器换取openid
            var url = $"https://api.weixin.qq.com/sns/jscode2session?appid={smallAppId}&secret={smallSecretKey}&js_code={jscode)}&grant_type=authorization_code";
            var resp = await new HttpClient().GetStringAsync(url);
            if (string.IsNullOrEmpty(resp))
            {
                return Json(new
                {
                    Suc = false,
                    Msg = "获取失败"
                });
            }
            else
            {
                var json = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(resp);
                string openId = json?.openid ? ? "";
                string sessionKey = json?.session_key ? ? "";
                return Json(new
                {
                    Suc = true,
                    Msg = "获取成功",
                    OpenId = openId,
                    SessionKey = sessionKey
                });
            }
        }

2.获取微信用户信息(后续补充)

0

评论 (0)

取消