网站首页 > 资源文章 正文
首先,还是要先看一下下面的例子
西门大官人想要找到金莲,直接上门 X(金莲是不会让他进来的!!)
那么,西门大官人就要去找王婆帮忙,偷偷地给王婆一个小纸条(内容嘛,不可说,不可说)
王婆收到纸条后,将西门大官人记下来,然后告诉他金莲的真实地址和开门的口号,
西门大官人美滋滋的再次拿着地址,来到了金莲的门前,用王婆给的口号传递给了金莲,
金莲一看:哇,口号对上了,可以啦.......................................此处省略点东西..........
那么我们换个角度看一下
用户要访问我们的程序,我们假设不是任何人都可以访问我们,那么用户随随便便是不允许访问的,用户需要进入微信服务器,经过微信服务器数据处理生成code,并重定向至第三方程序的连接上。实现了微信的第三方程序的一种接入方式。
那么问题来了,code由我们第三方程序接收到,从何做出判断这个用户是从微信跳转过来的呢??
我们继续找那三个人
当西门大官人找到王婆的时候,王婆已经将西门大官人记了下来,针对西门大官人还生成了一个专属口号。
当西门大官人找到金莲的时候,金莲接到了大官人的口号,便偷偷地将口号给了王婆,王婆拿出小本子,根据口号找到了西门大官人,便告诉她:我让他来的,他是谁谁谁,怎么怎么的,这样那样......
金莲说:“OK”!
微笑
当西门大官人找到王婆的时候,王婆已经将西门大官人记了下来,针对西门大官人还生成了一个专属口号。
当西门大官人找到金莲的时候,金莲接到了大官人的口号,便偷偷地将口号给了王婆,王婆拿出小本子,根据口号找到了西门大官人,便告诉她:我让他来的,他是谁谁谁,怎么怎么的,这样那样......
金莲说:“OK”!
微笑
我们再次回到正题
当用户点击菜单按钮,首先跳转到微信服务器,微信服务器针对用户生成一个只能使用一次的code,并重定向到第三方 程序,第三 方程序获取到code后,向微信服务器发起一次查询请求,根据code查询到这个用户的openid,并返回给第三 方程序。
程序拿到openid后有什么用?什么是openid?
微信官方API说明:
用户唯一标识,请注意,在未关注公众号时,用户访问公众号的网页,也会产生一个用户和公众号唯一的OpenID
而我们第三 方程序所要做的就是在获取到code之后,向微信服务器发送一次请求,通过code获取到openid,之后继续我们的代码业务逻辑。这样对于我们程序来说,便可以通过openid指向用户,保证了访问用户的唯一性。
首先,我们需要在按钮部署的连接:
获取code ---> 相当于递小纸条给王阿婆的过程
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
STATE 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节
SCOPE ---> 这里我们选择静默授权,所以使用snsapi_base即可应用授权作用域,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息)
REDIRECT_URI
授权后重定向的回调链接地址,请使用 URLEncode 对链接进行处理(第三方程序地址)
参数 | 是否必须 | 说明 |
appid | 是 | 公众号的唯一标识 |
ecret | 是 | 公众号的appsecret |
code | 是 | 填写第一步获取的code参数 |
grant_type | 是 | 填写为authorization_code |
参数 | 描述 |
access_toke | 网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同 |
expires_i | access_token接口调用凭证超时时间,单位(秒) |
refresh_toke | 用户刷新access_toke |
openid | 用户唯一标识,请注意,在未关注公众号时,用户访问公众号的网页,也会产生一个用户和公众号唯一的OpenID |
cope | 用户授权的作用域,使用逗号(,)分隔 |
这里返回的access_token与我们管理微信的access_token不是一个token!!!
在这里,获取到openid,而我们程序便可以通过解析获取到openid。
下一篇,上代码!!!!!!!!!
-----------------------------------------------分割线----------------------------------------------
持续未完,感谢大家的阅读,如果大家有兴趣可以查看《基于JavaEE—微信网页(一)角色的基本说明》、《基于JavaEE—微信网页(二)微信开发》。也欢迎大家转发,并关注。
猜你喜欢
- 2024-09-21 基于JavaEE——微信网页(一)角色的基本说明
- 2024-09-21 移动开发:SpringBoot整合微信小程序登录
- 2024-09-21 java使用API在微信开发者平台接入一个机器人回复
- 2024-09-21 微信公众平台开发java版之公众平台注册,设置,登录(第一课)
- 2024-09-21 Java基于微信公众号接口实现授权登录源码及原理分析
- 2024-09-21 基于微信小程序的游戏论坛设计与实现-计算机毕业设计源码+LW文档
- 2024-09-21 用Java搭建微信公众号生成access_token
- 2024-09-21 Jeewx-api 1.4.9 版本发布—第三方APP开发SDK,支持微信、钉钉等
- 2024-09-21 SpringBoot实战之—与微信小程序的通信(附源码)
- 2024-09-21 Joolun微信小程序源码功能一览表(Java)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)