SpringBootSecurity学习(23)前后端分离版之OAu…
2019-10-16 08:10:55来源:博客园 阅读 ()
SpringBootSecurity学习(23)前后端分离版之OAuth2.0 其它模式
密码模式
前面介绍了授权码模式和刷新令牌两种获取最新令牌的方法,下面来看一下其它模式。首先看密码模式,我们默认配置的三种模式中其实就包含密码模式的支持:
因此我们启动项目,直接使用密码模式即可,访问地址是:
- http://ip:port/oauth/token
参数有五个,分别是:
grant_type:密码模式值必须为 password
username:用户名
password:密码
client_id:客户端id
client_secret:客户端秘钥
访问示例如下:
密码模式适用于用户高度信任的情况,只有高度信息才能传用户名密码,谨慎使用。
隐藏模式
有些web应用是纯前端的应用,需要允许授权服务直接向前端颁发令牌。这种方式没有授权码这个中间步骤,所以称为(授权码)"隐藏式"(implicit)。访问链接示例如下:
- http://localhost:8028/oauth/authorize?client_id=clientId&response_type=token&redirect_uri=http://localhost:8028/&scope=all
可以看到这种方式比授权码模式多了一个scope参数,在使用隐藏模式之前,需要授权服务支持隐藏模式,就需要在授权类型中加上 implicit:
然后将上面的链接输入到浏览器,会出现登录页面,登录成功后,链接中会直接出现令牌:
注意,令牌的位置是 URL 锚点(fragment),而不是查询字符串(querystring),这是因为 OAuth 2.0 允许跳转网址是 HTTP 协议,因此存在"中间人攻击"的风险,而浏览器跳转时,锚点不会发到服务器,就减少了泄漏令牌的风险。
凭证模式
最后一种方式是凭证式(client credentials),适用于没有前端的命令行应用,即在命令行下请求令牌。请求地址如下:
- http://localhost:8028/oauth/token?grant_type=client_credentials&client_id=clientId&client_secret=secret
请求前,先在授权类型中配置凭证模式:
请求结果示例:
这种方式给出的令牌,是针对第三方应用的,而不是针对用户的,即有可能多个用户共享同一个令牌。
代码地址: https://gitee.com/blueses/spring-boot-security 28
本文由博客一文多发平台 OpenWrite 发布!
原文链接:https://www.cnblogs.com/guos/p/11676665.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 学习Java 8 Stream Api (4) - Stream 终端操作之 collect 2020-06-11
- java学习之第一天 2020-06-11
- Java学习之第二天 2020-06-11
- Spring WebFlux 学习笔记 - (一) 前传:学习Java 8 Stream Ap 2020-06-11
- Linux简单命令的学习 2020-06-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash