SpringBootSecurity中OAuth2.0的其它模式是怎样的

发布时间:2021-09-28 09:55:08 作者:柒染
来源:亿速云 阅读:103

这篇文章将为大家详细讲解有关SpringBootSecurity中OAuth2.0的其它模式是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

密码模式

前面介绍了授权码模式和刷新令牌两种获取最新令牌的方法,下面来看一下其它模式。首先看密码模式,我们默认配置的三种模式中其实就包含密码模式的支持:

SpringBootSecurity中OAuth2.0的其它模式是怎样的

因此我们启动项目,直接使用密码模式即可,访问地址是:

参数有五个,分别是:

访问示例如下:

SpringBootSecurity中OAuth2.0的其它模式是怎样的

密码模式适用于用户高度信任的情况,只有高度信息才能传用户名密码,谨慎使用。

隐藏模式

有些web应用是纯前端的应用,需要允许授权服务直接向前端颁发令牌。这种方式没有授权码这个中间步骤,所以称为(授权码)"隐藏式"(implicit)。访问链接示例如下:

可以看到这种方式比授权码模式多了一个scope参数,在使用隐藏模式之前,需要授权服务支持隐藏模式,就需要在授权类型中加上 implicit:

SpringBootSecurity中OAuth2.0的其它模式是怎样的

然后将上面的链接输入到浏览器,会出现登录页面,登录成功后,链接中会直接出现令牌:

SpringBootSecurity中OAuth2.0的其它模式是怎样的

注意,令牌的位置是 URL 锚点(fragment),而不是查询字符串(querystring),这是因为 OAuth 2.0 允许跳转网址是 HTTP 协议,因此存在"中间人攻击"的风险,而浏览器跳转时,锚点不会发到服务器,就减少了泄漏令牌的风险。

凭证模式

最后一种方式是凭证式(client credentials),适用于没有前端的命令行应用,即在命令行下请求令牌。请求地址如下:

请求前,先在授权类型中配置凭证模式:

SpringBootSecurity中OAuth2.0的其它模式是怎样的

请求结果示例:

SpringBootSecurity中OAuth2.0的其它模式是怎样的

这种方式给出的令牌,是针对第三方应用的,而不是针对用户的,即有可能多个用户共享同一个令牌。

关于SpringBootSecurity中OAuth2.0的其它模式是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. laravel passport OAuth2.0的模式有哪些
  2. SpringBootSecurity中OAuth2.0如何进行应用登记

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

oauth springboot

上一篇:vue.js如何使用Element-ui中实现导航菜单

下一篇:SpringBootSecurity中OAuth2.0如何进行应用登记

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》