获取微信openId

微信openId是微信公众号和用户相互绑定的唯一标识

获取微信openId


第一步:填写服务器配置

获取微信openId_第1张图片
服务器基础配置

url必须以http://或https://开头,支持80端口和443端口

Token是服务器端特定验证字符串

EncodingAESKey是随机校验字符串

消息加密形式可选明文和密文

验证通过后即可通过微信公众号访问第三方服务器


第二步:请求微信服务器获取用户code

访问地址  https://open.weixin.qq.com/connect/oauth2/authorize

参数

appid  必填字段  公众号的唯一标识

redirect_url  必填字段  授权后重定向的回调链接地址,请使用urlEncode对链接进行处理

response_type  必填字段  返回类型,请填写code

scope  必填字段 应用授权作用域,snsapi_base(不弹出授权页面)或snsapi_userinfo(弹出授权页面)

state  选填字段  重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节

获取微信openId_第2张图片

请求实例:https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx********as6d&redirect_uri=http%3a%2f%2feip.hljtx.com%2fsafefood%2fwechat%2fgetOpenId.do&response_type=code&scope=snsapi_userinfo&state=123

回调路径 http://eip.hljtx.com/safefood/wechat/getOpenId.do 必须是和第一步设置的服务器域名相同

通过回调第三方服务器获取到code


第三步:请求微信服务器获取用户openId

获取微信回调code后,需再次请求微信服务器

访问地址  https://api.weixin.qq.com/sns/oauth2/access_token

参数

appid  必填字段  公众号的唯一标识

secret  必填字段  公众号的appsecret

code  必填字段  填写第二步获取的code参数

grant_type  必填字段  authorization_code

尤其注意:由于公众号的secret和获取到的access_token安全级别都非常高,必须只保存在服务器,不允许传给客户端。后续刷新access_token、通过access_token获取用户信息等步骤,也必须从服务器发起。

我们必须在服务器端进行http请求

请求成功后获取到微信服务器返回的JSON

正确时返回的JSON数据包如下:

{ "access_token":"ACCESS_TOKEN",

"expires_in":7200,

"refresh_token":"REFRESH_TOKEN",

"openid":"OPENID","scope":"SCOPE" }

解析JSON数据包可获取到openId及access_token

注意:access_token有效时间为2小时,后期后需要重新刷新

你可能感兴趣的:(获取微信openId)