Java http长轮巡模拟扫码登录

demo 地址 https://gitee.com/youngboyvip/longpoll

实现原理

使用Servlet3异步接口实现非阻塞长连接接口, 异步上下文对象使用 ScheduledExecutorService 线程池定时调度
事件总线使用了 guava 中的 EventBus 实现

curl 执行顺序

//发起长链接请求
curl -X GET \
    'http://localhost:8080/api/longPolling?uuid=666&type=scan' \
    -H 'Cache-Control: no-cache' \
    -H 'Postman-Token: 531c77a6-d6b1-4cb5-b666-de1908123660'
   
//用户扫码,长连接响应用户扫码状态信息
curl -X GET \                                                                                        
  http://localhost:8080/api/scan/666 \
  -H 'Cache-Control: no-cache' \
  -H 'Postman-Token: d06921c5-b063-49f3-88cc-bb32de148000'

//扫码时候继续发起长连接等待用户确认授权
curl -X GET \
  'http://localhost:8080/api/longPolling?uuid=666&type=confirm' \
  -H 'Cache-Control: no-cache' \
  -H 'Postman-Token: 5aab47be-8522-4f97-96a5-d5dba035b4e7'
  
//用户确认授权,长连接请求返回token
curl -X GET \
  'http://localhost:8080/api/confirm/666?result=success' \
  -H 'Cache-Control: no-cache' \
  -H 'Postman-Token: 6855c644-23d5-4bbb-87f3-e6b344a70665'

OAuth2 + OpenId 仿微信公众平台扫码登录

开发中...

参与讨论 访问 www.youngboy.vip

q群:611515822

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。