微信用户授权,取openid
2024-10-16 05:12:28
var appid = "wxb5f2540cff5c72be";
var secret = "3de016d0c294b82a5c74ce3fc4865271"; var openid = Response.Cookies["openid"];
if (openid!=null&&openid.Value!=null&&!string.IsNullOrEmpty(openid.Value.ToString()))
{
//........
}
else
{
//取用户openid
var code = Request.QueryString["Code"];
if (string.IsNullOrEmpty(code))
{
var url = string.Format("https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri=http%3a%2f%2fbsbw2011.gicp.net%2flogin.aspx&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect", appid);
Response.Redirect(url);
}
else
{
var client = new System.Net.WebClient();
client.Encoding = System.Text.Encoding.UTF8; var url = string.Format("https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code", appid, secret, code);
var data = client.DownloadString(url); var serializer = new JavaScriptSerializer();
var obj = serializer.Deserialize<Dictionary<string, string>>(data);
string accessToken;
if (!obj.TryGetValue("access_token", out accessToken))
return; var opentid = obj["openid"];
HttpCookie openidCookie = new HttpCookie("openid");
openidCookie.Value = opentid;
openidCookie.Expires = DateTime.Now.AddYears();
this.Response.Cookies.Add(openidCookie); //......
}
}
最新文章
- springmvc+json
- jenkin系列_调度jmeter实现分布式测试
- FalseEasting 和 FalseNorthing
- zoom:1-hasLayout
- 简单分析下用yii2的yii\helpers\Html类和yii.js实现的post请求
- ASP.NET WebApi 使用Swagger生成接口文档
- java设计师初入职场,如何站稳脚跟
- LinkedHashMap 底层分析
- 利用Java手写简单的httpserver
- insmod 签名问题
- python学习—几个简单小程序
- 关于spring boot在IDE工具中可以启动成功,但是打成jar包以及运行jar包失败的问题
- django + nginx + uwsgi
- mui---获取入口文件对象
- day_6.17 gevent版服务器
- FFmpeg:视频转码、剪切、合并、播放速调整
- Python2.7-fnmacth
- 微信web开发者工具同时打开两个小程序项目
- 开源代码ViewPageIndicator的使用
- 算法笔记_044:表达式计算求值(Java)