我知道很多开发者习惯于不论什么情况,都返回 200 ,然后在 HTTP Response Entity-Body 中的 JSON 报文里添加一个状态字段,但在本接口里,是通过 HTTP Status 来表达错误的,请一定注意这一点。
理论OAuth是一个关于授权(authorization)的开放网络标准,用来授权第三方应用获取用户数据,是目前最流行的授权机制,它当前的版本是2.0。应用场景假如你正在“网站A”上冲浪,看到一篇帖子表示非常喜欢,当你情不自禁的想要点赞时,它会提示你进行登录操作。
我们在平时的API接口开发中,经常会接触到“ OAuth2.0 ”这个概念,但是很多小白总是搞不清楚code,state,access_token,refresh这些内部概念及其设计原理,甚至是在查阅了很多资料之后仍然是云山雾罩。
在前两篇文章中,我们介绍了 OIDC 授权码以及授权码增强的 PKCE 模式,本次我们将重点围绕 模式进行讲解 ,Client Credentials 模式是 OIDC 授权模式之一,它是一种用于客户端以自己的名义向 OIDC 服务端获取访问令牌的认证授权模式,常用于保护 API 或物联网场景。
先是给大家基本概念,然后是基于Session的认证方式,紧接着会带着大家去快速的上手Spring Security,然后回去给大家详解解释Spring Security应用、然后就是分布式系统认证方案以及OAuth2.0,最后是Spring Security实现分布式系统授权!
Oauth2.0是目前流行的授权机制,用于授权第三方应用,获取数据。和以往授权不同的是Oauth不会使第三方触及到用户的账号信息,也就是说第三方不需要使用用户的用户名和密码就可以获取到该用户的用户资源权限。