Asp.Net Core获取微信小程序openid以及session_key
小程序端
微信小程序调用 wx.login
,会获得一个code
// 登录
wx.login({
success: res => {
//将code发送到服务器
this.api.userLogin(res.code).then(res=>{
})
}
})
服务端
准备好appid
及secret
,获取openid
及session_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条评论