OAuth2 oauth_client_details表字段的详细说明

这篇博客主要解析OAuth2.0中oauth_client_details表的字段,强调了oauth_client_details表在业务运行中的关键作用,并简单介绍了oauth_client_token、oauth_access_token、oauth_refresh_token和oauth_code等表在流程中的功能。详细解释了这些表在不同场景下的使用,如grant_type对表使用的影响。
摘要由CSDN通过智能技术生成

官方SQL表语句查看SQL表结构,请点这里。

官方有sql语句,但是没有详细的对每个字段做出详细的解释,让我们在使用OAuth2.0 的时候也有一些迷茫,这里主要针对主要的表以及字段进行说明。

其他表都比较简单也容易理解,重点主要时对于oauth_client_details,以及对应字段的意义,因为在实际使用的时候,该表中的字段是影响业务运行的关键。

先大致看一下流程

OAuth2认证流程

上图可以看到大致分为用户,认证服务Authorization Server,以及资源服务resource server,三方应用客户端client

oauth_client_details

client_id 主键,必须唯一,不能为空.
用于唯一标识每一个客户端(client); 在注册时必须填写(也可由服务端自动生成).
对于不同的grant_type,该字段都是必须的. 在实际应用中的另一个名称叫appKey,与client_id是同一个概念.
resource_ids

客户端所能访问的资源id集合,多个资源时用逗号(,)分隔,如: "unity-resource,mobile-resource".

可以根据上图知道,我们有Resource Server资源服务器。,资源服务器可以有多个,我们可以为每一个Resource Server(一个微服务实例)设置一个resourceid。

Authorization Server给client第三方客户端授权的时候,可以设置这个client可以访问哪一些Resource Server资源服务,如果没设置,就是对所有的Resource Server都有访问权限。

client_secret 用于指定客户端(client)的访问密匙; 在注册时必须填写(也可由服务端自动生成).
对于不同的grant_type,该字段都是必须的. 在实际应用中的另一个名称叫appSecret,与client_secret是同一个概念.
scope

指定客户端申请的权限范围,可选值包括read,write,trust;若有多个权限范围用逗号(,)分隔,如: "read,write".

@EnableGlobalMethodSecurity(prePostEnabled = true)启用方法级权限控制

然后在方法上注解标识@PreAuthorize("#oauth2.hasScope('read

  • 21
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值