Html获取微信id,ASP获取微信小程序的用户ID(OpenID)——服务器端

本文介绍了如何使用经典ASP服务器端程序获取微信小程序的用户OpenID。通过小程序的wx.login()获取code,然后ASP程序将code、appid和appsecret发送至微信服务器,解析返回的JSON数据,提取openid并结构化处理。
摘要由CSDN通过智能技术生成

背景

尝试一下新鲜事物“微信小程序”,其中有一个业务场景,通过微信登陆小程序,这样需要获取小程序的用户ID(也就是openid)。微信小程序从安全角度考虑,不提供直接在微信服务器获取openid的方法,那么需要借助自己的业务服务器去进行获取。于是需要写一个服务端的程序,接受用户从微信小程序提交过来的请求,然后再向微信服务器发起请求,得到这个用户的openid信息。

同样,处于安全考虑,微信不建议把这个openid返回给微信小程序。当然这是后话,在此只探讨获取到oepnid这个环节。

服务端用比较比较古朴的技术ASP(或者叫经典ASP吧。)

官方文档

微信小程序的官方文档在这里:(https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html#wxloginobject)

截取其中关键的时序图吧。

95297db4497f4b44074ccb52b869346b.png

微信小程序登陆时序图

我的学习

我学习理解下,应该有这么几个环节:

1、在小程序中用wx.login()获取到登陆凭证code。

2、通过小程序的wx.request()将这个code发送至咱们自己的服务程序(本文的ASP程序)。

3、服务器ASP程序将code连同appid和appsecret一起发送至微信的服务器。

4、接收微信返回的信息,包括openid和session_key,这两个都不传送到小程序客户端。

5、既然不传回去,就用一个我们自己定义的session来记录登陆情况,然后返回去。

6、返回到小程序的我们自己的定义session用storage存储在客户端(手机)上。

7、再次登陆时候,只读取storage和我们自己的服务器发起通讯即可。

本文我们只探讨1-4步。

开始动手

1、微信小程序获取登陆凭证code。

这个比较简单,在app.js里增加下面代码;

wx.login({

success: res => {

// 发送 res.code 到后台换取 openId, sessionKey, unionId

var code = res.code;

if (code) {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值