认证流程:
1.客户(京东)发送认证申请给资源所有者(用户的微信即要登录京东的微信)
2.资源所有者(用户的微信即要登录京东的微信)同意授权,返回一个code码给客户(京东)
3.客户(京东)拿到授权码code,请求认证服务器(OAuth2)
4.认证服务器(OAuth2)返回一个token令牌给客户(京东)
5.客户(京东)拿到token令牌请求资源服务器(腾讯的微信服务器)
6.资源服务器(腾讯的微信服务器)同意客户(京东)的登录请求

在昨天的项目中进行开发 加入我们需要的依赖

 pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.lisen</groupId><artifactId>OAuth2-example</artifactId><packaging>pom</packaging><version>1.0-SNAPSHOT</version><modules><module>client</module><module>resource-owner</module><module>authorization-server</module><module>resource-server</module></modules><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.6</version><relativePath></relativePath></parent><properties><oauth2-version>0.31</oauth2-version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.22</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- redis --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId></dependency><!-- jwt --><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId></dependency><dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.apache.oltu.oauth2</groupId><artifactId>org.apache.oltu.oauth2.client</artifactId><version>${oauth2-version}</version></dependency><dependency><groupId>org.apache.oltu.oauth2</groupId><artifactId>org.apache.oltu.oauth2.authzserver</artifactId><version>${oauth2-version}</version></dependency><dependency><groupId>org.apache.oltu.oauth2</groupId><artifactId>org.apache.oltu.oauth2.resourceserver</artifactId><version>${oauth2-version}</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3.4</version></dependency><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version></dependency><dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><version>3.4.0</version></dependency></dependencies></dependencyManagement></project>

此时的redis

1.客户(京东)发送认证申请给资源所有者(用户的微信即要登录京东的微信)

运行项目 先登录微信

2.资源所有者(用户的微信即要登录京东的微信)同意授权,返回一个code码给客户(京东)

时间过长会要重新登录

点击同意授权会有一个授权码 返回给京东

3.客户(京东)拿到授权码code,请求认证服务器(OAuth2)

4.认证服务器(OAuth2)返回一个token令牌给客户(京东)
5.客户(京东)拿到token令牌请求资源服务器(腾讯的微信服务器)


6.资源服务器(腾讯的微信服务器)同意客户(京东)的登录请求

OAuth2:项目演示-模拟微信授权登录京东相关推荐

  1. 微信授权登录(OAuth2.0)-- 随记

    1.OAuth2.0简介 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. 允许用户 ...

  2. 从前后端交互逻辑出发、基于企业开发标准,Web微信授权登录系统开发项目分享

    背景 首先,在网页中开发第三方登录系统的案例越来越多,用户的操作习惯也逐渐被引导改变,更加简洁有效的登录交互系统将会成为网页开发中必要的一环.从项目的用户使用背景.微信公众号的开发模式.企业代码的标准 ...

  3. uniapp - 编译微信小程序项目的微信授权登录、获取微信手机号登录、最新版微信直接登录、手机与验证码登录的示例源码(适用于 uniapp 微信小程序项目,源代码直接开箱即用)超级详细的代码及注释

    效果图 uniapp 项目编译微信小程序,一些常见的登录方式及源代码,示例代码干净整洁无BUG拿来即用. 本文示例实现了 uniapp 微信小程序项目的登录功能,包含微信授权登录.获取微信手机号登录. ...

  4. 慕课网_《微信授权登录》学习总结

    时间:2017年08月12日星期六 说明:本文部分内容均来自慕课网.@慕课网:http://www.imooc.com 教学源码:无 学习源码:https://github.com/zccodere/ ...

  5. code换取微信openid_微信授权登录开发的两种方式

    本文主要针对微信公众号(公众平台的开发) 首先理解一个概念:OAuth: OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表), ...

  6. 微信授权登录mock(在没有真实微信账号的情况下测试大量微信账户授权登录的情况)...

    场景介绍 对于构建在微信公众号的系统,帐号体系往往使用微信授权登录(如各类微信商城应用系统). 这样操作不仅可以实现静默注册,对用户几乎是无感的,同时也达到了区分用户,获取用户基本信息(头像,昵称等) ...

  7. Java版本微信授权登录(升级版)

    前面写了一遍文章<Java版本微信授权登录(测试版)>,可以当做入门的基础文章,这里继续做一点深入,主要解决的是,如何在本地开发中微信授权以后跳转到本地启动的项目中. 我们知道了微信公众平 ...

  8. SpringBoot2.0(九):实现微信授权登录并且获取用户信息

    第一步:配置域名 由于我是本地测试,需要一个域名映射工具,改工具使用非常简单,如果自己有域名可以使用自己的域名(自己的域名必须备案)如果没有可以在第一个输入框里面输入自己的域名前缀!微信授权登录端口必 ...

  9. uniapp开发h5微信授权登录(详细教程)

    uniapp开发h5微信授权登录 文章目录 uniapp开发h5微信授权登录 前言 一.前期准备--申请测试账号 二.正式开发--前端代码 三.打包发布 总结 前言 我也是第一次做h5授权微信登录,网 ...

最新文章

  1. Android开发ADB的安装
  2. 10-20国际标准导联系统
  3. linux 串口读取陀螺仪,stm32读取陀螺仪MPU6050发送数据到串口
  4. java 柱状图 宽度_Java实现 LeetCode 84 柱状图中最大得矩形
  5. Python学习笔记之类(四)
  6. C++对象模型3--无重写的单继承
  7. leetcode题目及答案python_leetcode Python算法题(20)-----多题
  8. Win11未检测到Logitech Unifying接收器的解决方法
  9. Vijos P2010 回文日期【回文+日期计算】
  10. python菜鸟教程-Python3 函数
  11. HTTP请求报文与响应报文
  12. 鹏拍:软件行业上市十大关注问题
  13. 敏捷开发 建立愿景、使命_敏捷产品计划:愿景,战略和策略
  14. TTL和CMOS输出端连接注意
  15. 设计一个长方形的类,成员的变量有长与宽,成员函数要求周长与面积,然后进行测试。
  16. 开放耳机有什么优缺点,列举出几款口碑不错的开放式耳机
  17. excel筛选情况下数字下拉递增的方法
  18. 足球数据API接口 - 【实时指数2】API调用示例代码
  19. 图的最小生成树(Prim算法、Kruskal算法)
  20. Chrome插件 Tamper Dev

热门文章

  1. 无盘服务器网卡参数怎么设置,无盘网吧网卡参数设置建议
  2. sqlserver2005 使用
  3. Learning to Identify Follow-Up Questionsin Conversational Question Answering
  4. html计时器重置,使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)...
  5. Python网络管理
  6. java邮件会议邀请_javamail+ical4j发送会议邀请
  7. LLC谐振电路(三)电路结构原理
  8. 2021-10-12 进制之间的转换
  9. 弄清Flink1.8的远程过程调用(RPC)
  10. 你有没有被FBI警告过?