Java实现OAuth2.0授权码方式

前面介绍了OAuth2.0和授权方式,可以参考以下文章:

今天就用Java来验证OAuth2.0授权方式的授权码式,我们Spring Cloud的OAuth来实现认证和资源服务器,以下是Web Security的配置。

web security

我们另外要实现一个认证服务器,其实很简单我们做个配置类,继承AuthorizationServerConfigurerAdapter类,并添加注解EnableAuthorizationServer,我们配置四种认证方式,一个认证服务器基本完成,以下是具体代码:

认证服务器

我们再配置个资源服务器,就是我们的应用服务,这个很简单了,一个spirngboot的web项目,在配置文件中需要配置token信息的地址:

security的配置

我们的一个测试Controller,配置一个路径/info

controller

我们的认证服务器监听8080端口,资源服务器监听8082端口,下面就验证授权模式。

获取授权码

在浏览器中输入以下地址,页面会跳转到登录页面,用户名和密码是我们在代码中设置的java/java。

http://localhost:8080/oauth/authorize?response_type=code&client_id=client&rediredirect_uri=http://localhost:8082/info

登录页面

登录后,系统会跳转到授权页面,见面如下:

授权

授权后会跳转到设置的跳转页面并且带有code=XXXX,这个后面的code的值就是我们需要的认证码,我们下面就用这个认证码获取token。

获取认证码

获取token

现在就往认证服务器发送一个post请求,带上我们的授权码,用上文介绍的httpClient(是时候用idea的httpclient功能了)发送请求,具体如下:

获取token

发送请求后,下面就是我们获取到的access token和refresh token。

获取到的token

获取资源

我们用httpClinet发送一个get请求,带上我们的token,添加Authorization头信息,值为Bearer+token。

获取资源

这个请求返回一个认证信息,具体如下:

认证信息

java 32位授权码_Java实现OAuth2.0授权码方式相关推荐

  1. 微信开放平台开发——网页微信扫码登录(OAuth2.0)

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

  2. 微信企业号OAuth2.0授权-Java

    为什么80%的码农都做不了架构师?>>>    我也是醉了,中午做个饭这么难吃!连自己都看不下去了!怀着沉重的心情把微信企业号OAuth2.0授权看了看,感觉与公众号差别没什么,相信 ...

  3. OAuth2.0授权码模式学习

    OAuth2.0授权码模式学习 四种授权方式 1,授权码模式 2,简化模式 3,密码模式 4,客户端模式 授权码模式 四种授权模式中最完成,最严密的授权. (1)用户访问客户端,后者将前者导入认证服务 ...

  4. Java微信公众平台开发(十六)--微信网页授权(OAuth2.0授权)获取用户基本信息

    转自:http://www.cuiyongzhi.com/post/78.html 好长时间没有写文章了,主要是最近的工作和生活上的事情比较多而且繁琐,其实到现在我依然还是感觉有些迷茫,最后还是决定静 ...

  5. oauth2.0授权码模式详解

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  6. oauth2.0授权码_OAUTH 2.0授权码授予

    oauth2.0授权码 OAuth 2.0提供了许多安全流程(或授权类型),以允许一个应用程序访问另一个应用程序中的用户数据. 在此博客中,我们将介绍OAuth 2.0授权:授权代码授权. 首先,有许 ...

  7. OAuth2.0授权协议与客户端授权码模式详解

    本文来重点讲解下OAuth2.0授权协议与客户端授权码模式 文章目录 什么是OAuth协议 交互过程 客户端授权模式 授权码模式 简化模式 密码模式 客户端模式 接入公司内部系统 后台管理系统 前台业 ...

  8. 新浪微博Oauth2.0授权认证及SDK、API的使用(Android)

    ---------------------------------------------------------------------------------------------- [版权申明 ...

  9. 芋道 spring security oauth2 入门_Spring官方宣布:新的Spring OAuth2.0授权服务器已经来了

    1. 前言 记不记得之前发过一篇文章Spring 官方发起Spring Authorization Server 项目.该项目是由Spring Security主导的一个社区驱动的.独立的孵化项目.由 ...

最新文章

  1. Eclipse新建java类的时候,自动创建注释
  2. 请问一下:诸位遇到输入汉字时会重复输入
  3. RabbitMq(八) SpringBoot整合RabbitMQ 生产者代码实现
  4. 去哪网实习总结:JavaWeb配置404页面(JavaWeb)
  5. visual studio2013 php
  6. STM32程序下载详解
  7. android nfc常用标签读取
  8. SpringCachemanager使用Cache(redis作为缓存中间件)
  9. 微软Kinect是怎么做到的
  10. 华人工程师在美国-从微软高管离职说起
  11. android spannablestring设置字体颜色,Android SpannableString设置超链接、颜色、字体等属性...
  12. TensorFlow学习(三)——神经网络进阶
  13. 人证核验一体如何验证考生身份对比
  14. 董孝魁:通证经济重塑企业价值,区块链应赋能服务实体
  15. 基于GAN的图像配准汇总
  16. 2023年英文科技论文写作与学术报告-期末考试
  17. d盘不见了 计算机打不开,d盘不见了怎么办 d盘不见了原因及解决方法
  18. vs2013使用QT自带的openGL
  19. Linux各种启动命令
  20. android微信顶端导航栏,navigation-bar

热门文章

  1. EditText 自动保留两位小数
  2. 【C#】详解使用Enumerable.Distinct方法去重
  3. 有关ftp4j的FTPListParseException异常
  4. linux 串口驱动(二)初始化 【转】
  5. 面试中必知必会的那些题——单链表倒置
  6. TIBCO宣布接近达成收购LogLogic
  7. 服务器-番外篇-搭建samba共享
  8. 51nod 1766
  9. [LeetCode]--63. Unique Paths II
  10. BaseActivity的抽取