- 关于客户端模式
- 客户端模式测试使用
- ① 给目标客户端分配客户端模式
- apifox 调用服务接口 导入 apifox 脚本直接调试即可">② 参考 apifox 调用服务接口 导入 apifox 脚本直接调试即可
- 特别注意
关于客户端模式
客户端模式(Client Credentials Grant)指客户端以自己的名义,而不是以用户的名义,向”服务提供商”进行认证。严格地说,客户端模式并不属于 OAuth 框架所要解决的问题。在这种模式中,用户直接向客户端注册,客户端以自己的名义要求”服务提供商”提供服务,其实不存在授权问题。
- A)客户端向认证服务器进行身份认证,并要求一个访问令牌。
- B)认证服务器确认无误后,向客户端提供访问令牌。
客户端模式测试使用
① 给目标客户端分配客户端模式
② 参考 apifox 调用服务接口 导入 apifox 脚本直接调试即可
- 返回报文
{
"access_token": "1af5faf2-bb8c-441d-952b-82df970ae474",
"token_type": "bearer",
"expires_in": 43199,
"scope": "server"
}
特别注意
- 相较于密码模式,返回的数据不包含刷新令牌(令牌容易丢失,避免安全问题)。
- 不存在用户概念,无法通过 SecurityUtils.getUser 获取当前用户 也无法通过
@PreAuthorize
权限拦截
@GetMapping("/client/nfo")
public R getClientInfo(){
// SecurityUtils.getUser() == null
String requestClientId = SecurityUtils.getAuthentication().getName();
return R.ok();
}