第三方系统调用我方业务系统的认证鉴权问题。

Blade 未结 2 32

一、该问题的重现步骤是什么?

业务场景是这样的,我们的业务系统会有大量的接口给第三方系统进行调用。第三方系统调用时,需要对

第三方系统进行鉴权,让其只能调用部分接口。我看了下bladex4.7版本支持的几种认证模式,比较倾向于使用客户端模式进行认证。举个例子,比如说有A、B、C接口,这种情况只允许第三方系统调用A接口,怎么可以做到在页面上进行配置呢?或者有没有什么现成的方案可以借鉴一下。

二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

bladex4.7版本

四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。


2条回答
  • 这个功能目前bladex没有,无法实现在页面上配置后固定权限给客户端的token调用。

    你们需要二开来实现了。

    功能拓展完后,判断逻辑可以统一入口到这里增加你们的逻辑来进行鉴权:https://center.javablade.com/blade/BladeX-Tool/src/branch/master/blade-core-auth/blade-core-secure/src/main/java/org/springblade/core/secure/interceptor/TokenInterceptor.java


    0 讨论(0)
  • 5小时前

    我看了4.7版本的Oauth2认证的客户端模式ClientCredentialsGranter,创建accessToken时直接用的就是authorization请求头中base64编码的clientId和clientSecret,这样是不是会有问题啊?按理说clientSecret不应该是明文传输啊。因为我感觉第三方系统调用接口不涉及到用户,使用客户端认证模式应该是最符合场景的。

    作者追问:5小时前

    oauth2协议就是这样的,没有要求加密,直接放到请求头来获取token的。

    我们当然知道不安全,所以应用管理里都没有加上客户端认证的配置

    CleanShot20251104154304@2x.png


    不满足要求的情况下,你可以自己重新建一个granter拓展客户端模式来适配你们的真实场景。

    0 讨论(0)
提交回复