Asp.Net Core获取微信小程序openid以及session_key

作者 the7
发布于 2020年01月18日
评论 0
浏览 330

小程序端

微信小程序调用 wx.login ,会获得一个code

// 登录
wx.login({
  success: res => {
    //将code发送到服务器
    this.api.userLogin(res.code).then(res=>{
    })
  }
})

服务端

准备好appidsecret,获取openidsession_key代码如下。

public async Task<IActionResult> Login(string code)
{
    var appid  = ""; //你申请的微信小程序appid
	var secret = ""; //你申请的微信小程序密钥
	
    if (string.IsNullOrEmpty(code)) 
        throw new Exception("code is required");
            
    //去腾讯服务器换取openid
    var url = $"https://api.weixin.qq.com/sns/jscode2session?appid={appid}&secret={secret}&js_code={code}&grant_type=authorization_code";
    var resp = await new HttpClient().GetStringAsync(url);
            
    if (string.IsNullOrEmpty(resp)) 
        throw new Exception("request error");
            
    var json = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(resp);
    var openId = json.openid;
    var sessionKey = json.session_key;
    //保存到数据库等操作...
}

0条评论

请先登录后发表评论
提交评论
标签云
css (1) less calc (1) C# (4) C#进制转换 (1) asp.net core (8) Authentication (1) 注销 (1) 登录 (1) 验证 (1) scroll-view (1) 微信小程序 (4) 滚动到底部 (1) StackExchange.Redis (1) google (1) 百度 (1) nginx (2) 大文件 (2) 微信小程序c#解密 (1) 微信小程序获取手机号 (1) openid (1) session_key (1) CDN (1) URL鉴权 (1) 阿里云 (1) async (1) await (1) 禁止下拉上滑效果 (1) Index类型 (1) Range类型 (1) dontent publish (1) dotnet publish在线生成器 (1) System.DrawingCore.GDIPlus报错 (1) centos (1) 中文字体 (1) SqlBulkCopy (1) SqlSugar (1) JWT (5) 认证 (3) RSA JWT (1) 非对称加密 (1) 写信 (1) 见字如面 (1) 优化建议 (2) 正确操作字符串 (1) Java (1) JWT退出 (1) RefreshToken (1) .NET Core网站开发框架 (1) Moz (3) 墨子 (1) JSON.NET (1) Newtonsoft (1) System.Text.Json (1) 自定义后台路径 (1) .netcore (1) quartz (2) 作业调度框架 (1) 作业调度 (1) 定时任务 (1) exception (1) 异常处理 (1) HttpClient (1) IHttpClientFactory (1) RDM (1) Redis (1) Redis Desktop Manager (1) RedisDesktopManager (1) linux (1) mac (1) windows (1) Could not get any response (1) postman (1) leetcode (2) 力扣 (1) 回文字符串 (1) 面试刷题 (1) centos7 (1) php安装 (1) 网易云插件 (1) 马甲App (1) Discuz插件 (1) 网易云音乐 (1) Blazor (1) 五子棋 (1) c#解题 (1) 最长连续序列 (1) Swagger (1) 在线文档 (1) blob (1) mp4 (1) 视频 (1) big file (1) 上传 (1) s (1) Azure (1) Azure Key Vault (1) Configuration (1) 密钥保管库 (1) Dapper安装 (1) Dapper是什么 (1) Dapper连接Mysql (1) Dapper连接SqlServer (1) dapper (1)