java oauth2 severlet_Java对微信网页授权登录的实现

开发微信网页的童鞋应该都会涉及到微信授权登录了,微信官方文档对微信使用的步骤已经很明确的进行了说明了:1 第一步:用户同意授权,获取code

2 第二步:通过code换取网页授权access_token

3 第三步:刷新access_token(如果需要)

4 第四步:拉取用户信息(需scope为 snsapi_userinfo)

5 附:检验授权凭证(access_token)是否有效

我们主要是用java来对微信用户进行授权的实现,获取用户的信息保存到数据库中,之前的做法是在将授权页面交给前端,让前端获取code然后请求后端接口获取openid来获取用户信息,那样子的做法不是很好,因为对前端来说授权页面可能不仅仅是首页,而且还要与后端做多一步的数据对接,很是麻烦,所以现在是用后端直接授权获取用户信息然后再重定向到前端的页面。

具体操作如下:

首先创建一个Servlet:

这里用wechatOAuthServlet继承HttpServlet并重写doGet和doPost方法,doGet直接调用doPost,所以我们对网页授权的具体操作在doPost中操作!

这个wechatOAuthServlet在web.xml中设置:

很简单,当客户端发起/app/wechat/wechatOAuthServlet.do请求时就调用我们的wechatOAuthServlet这个类的doPost方法。

我们对获取微信code的回调url也设置是这个/app/wechat/wechatOAuthServlet.do的urlEncode:

doPost方法如下代码解释:

这样子前端就可以通过cookie判断用户是否登录了,若需要用户登录那么前端只要请求/app/wechat/wechatOAuthServlet.do这个链接就可以了!

------------------------------------------------------------------------------------------

推荐关注公众号「肯定会」,这里有java和Linux的干货哦~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值