[详细的微信授权登陆 demo]

news/2024/10/30 23:19:31/

目录

前言: 

Java实现微信授权登录的步骤如下:

生成授权链接,让用户点击该链接进行授权。可以使用WeixinService的getAuthorizeUrl方法来生成授权链接:

其中,redirectUrl是用户授权后跳转的链接,snsapi_userinfo表示获取用户的基本信息,state是自定义参数。

完整代码:

依赖:

前端实现:


前言: 

     记录小笔记,分享小dmeo,希望对你有帮助,可以点个赞哦

Java实现微信授权登录的步骤如下:

  • 在微信公众平台上创建应用程序,并获取应用程序的AppID和AppSecret。

  • 在Java中,使用第三方库来实现微信授权登录。常用的库有Weixin Java Tools、Wechat SDK等。

  • 在代码中,创建WeixinService对象,并设置AppID和AppSecret:

WeixinService weixinService = new WeixinService();
weixinService.setAppId("your_app_id");
weixinService.setAppSecret("your_app_secret");

生成授权链接,让用户点击该链接进行授权。可以使用WeixinService的getAuthorizeUrl方法来生成授权链接:

String redirectUrl = "http://your_redirect_url";
String authorizeUrl = weixinService.getAuthorizeUrl(redirectUrl, "snsapi_userinfo", "state");

其中,redirectUrl是用户授权后跳转的链接,snsapi_userinfo表示获取用户的基本信息,state是自定义参数。

  • 用户点击授权链接后,会跳转到微信授权页面。用户在该页面上输入微信账号密码并授权后,会跳转回redirectUrl指定的链接。在该链接中,可以获取到用户的授权信息。

  • 在redirectUrl指定的链接中,使用WeixinService的getUserInfo方法来获取用户的基本信息:

String code = request.getParameter("code");
WeixinUser user = weixinService.getUserInfo(code);
  • 其中,code是微信授权页面返回的授权码,user是包含用户基本信息的WeixinUser对象。
  • 最后,可以使用获取到的用户信息进行后续操作,例如将用户信息保存到数据库中。

完整代码:

WeixinService weixinService = new WeixinService();
weixinService.setAppId("your_app_id");
weixinService.setAppSecret("your_app_secret");String redirectUrl = "http://your_redirect_url";
String authorizeUrl = weixinService.getAuthorizeUrl(redirectUrl, "snsapi_userinfo", "state");// 用户点击授权链接后跳转到redirectUrl指定的链接
String code = request.getParameter("code");
WeixinUser user = weixinService.getUserInfo(code);String code = request.getParameter("code");
if (code != null && !code.isEmpty()) {// 获取用户信息WeixinUser user = weixinService.getUserInfo(code);if (user != null) {// 将用户信息保存到数据库中saveUserInfo(user);// 跳转到登录成功页面response.sendRedirect("http://your_login_success_url");} else {// 获取用户信息失败,跳转到登录失败页面response.sendRedirect("http://your_login_fail_url");}
} else {// 用户未授权,跳转到微信授权页面response.sendRedirect(authorizeUrl);
}

依赖:

<dependency>
    <groupId>com.github.binarywang</groupId>
    <artifactId>weixin-java-tools</artifactId>
    <version>3.4.0</version>
</dependency>
 

前端实现:

  1. 在前端页面中,添加一个按钮或链接,让用户点击该按钮或链接进行微信授权登录。

  2. 在按钮或链接的点击事件中,跳转到后台生成的授权链接:

如下:

// 前端页面中的按钮或链接

<button οnclick="authorize()">微信授权登录</button>

<script>

function authorize()

{

// 跳转到后台生成的授权链接

window.location.href = "http://your_authorize_url";

} </script>


http://www.ppmy.cn/news/163603.html

相关文章

下周计划:封阳台、配电脑、补手机

8月8日&#xff0c;同老婆来长沙趁着奥运之夜倒长沙出差、租房中发生一起严重的民事案件、犯罪嫌疑人估计知道家中没人、破门而入——盗走了我的PSP2000&#xff0c;还有老婆的家用电脑Acer 4310笔记本电脑。 10月18日&#xff0c;独自一人坐车从宜昌再到长沙&#xff0c;该路…

喜讯丨计讯物联5G物联网数据网关TG463荣登2022年度中国物联网行业创新产品榜

近日&#xff0c;备受瞩目的2022‘物联之星’中国物联网产业年度榜单颁奖典礼在上海世博展览馆会场隆重举行。经由申报筛选、网络人气投票、专家评委投票等多重环节&#xff0c;计讯物联旗下5G物联网数据网关TG463荣登2022年度中国物联网行业创新产品榜。 作为中国物联网行业…

【嵌入式烧录/刷写文件】-2.8-Hex文件转换为S19文件

案例背景(共5页精讲)&#xff1a; 有如下一段Hex文件&#xff0c;将其转换为Motorola S-record(S19/SREC/mot/SX)文件。 :2091000058595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576775F :2091200078797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939…

235款鼠标样式免费下载

235款鼠标样式免费下载 样式预览 1-12 13-24 25-36 37-48 49-60 61-72 73-84 85-96 97-108 109-120 121-132 133-144 145-156 157-168 169-180 181-192 193-204 205-216 217-216 229-235 下载方式 码云下载: WangSong1111/cursor Github下载&#xff1a;UniqueYou/cursor …

买富勒鼠标的请注意了

1月前买的A08G无线鼠标&#xff0c;最近出现了左键单击一下成了双击的现象&#xff0c;上网搜了一下&#xff0c;出现这种情况的人不少。问了一下客服&#xff0c;态度很好&#xff0c;拿鼠标到销售商去换即可。但我是从网上买的呀。只能自认倒霉&#xff0c;自己换个微动开关了…

如何获取鼠标位置

代码非常简单 POINT pos;GetCursorPos( &pos ); //获取鼠标在屏幕中的位置ScreenToClient( hWnd, &pos ); //转换到你的窗口中的位置 以上两个函数都包含在winuser.h里面。 另外&#xff0c;有 消息的组成&#xff1a;一个消息由一个消息名称&#xff08;U…

性价比哪家强?富勒G93S光磁微动鼠标深度评测

光磁微动打破传统壁垒&#xff0c;更好的解决了由于弹簧片老化带来的双击问题&#xff0c;快速响应&#xff0c;5ms触发&#xff0c;寿命长。富勒黑科技G93S将光磁微动再次演绎。 要玩就玩高清无码版 每次用逆天的4K显示器看视频&#xff0c;我总是担心他们会把痘痘肌、浓厚的粉…

鼠标测试cps软件,人最多鼠标cps是多少?

满意答案 沙漠里的小玫瑰 2019.01.12 采纳率&#xff1a;42% 等级&#xff1a;7 已帮助&#xff1a;1911人 Razer 炼狱蝰蛇 升级版鼠标 参考报价&#xff1a;&#xffe5;245 连接方式&#xff1a;有线 工作方式&#xff1a;光电 鼠标接口&#xff1a;USB 最高分辨率&#x…