目前我们需要提供开放API给外部系统使用,当前“客户端+密码”的授权方式并不适合,可有方案解决此类需求?

Blade 未结 2 845
284123129
284123129 2022-07-22 21:55

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


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

期望可以有一个不用通过用户和密码的方式授权,提供一个token给第三方应用调用系统内的开放接口。


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

正在使用的是商业版,2.9.1 Cloud 版本。


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


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

2条回答
  •  admin
    admin (楼主)
    2022-07-23 14:21

    具体可以看一下5.3.4章节

    image.png

    作者追问:2022-07-23 14:21

    没看懂是什么意思?可否详细描述一下原理和可行方案?

    需求是:提供开发API给外部系统使用,但是外部系统必须先获取授权方可调用API。


    作者追问:2022-07-23 14:21

    同时我们需要知道是哪个外部系统调用了我们的API,可否与clientId相结合

    作者追问:2022-07-23 14:21

    是指开放API鉴权放行后使用“基础认证”或者“动态签名认证”进行授权吗?

    回答: 2022-07-23 14:21

    那你们的这个需求,可以直接用oauth2的客户端模式来获取token调用,这样就可以从请求头传过来的token解析出clientId,具体可以搜索一下oauth2客户端模式的调用流程

    作者追问:2022-07-23 14:21

    使用客户端模式时,我跳过token增强,不获取用户信息,直接返回token,然后去拿这个token去访问我们的接口时,会提示失败,这是为什么呢?D36%VS]GZ4890QXXD_D1HN1.pngK2}$}AUOJHFO0BGENRVA`24.png

提交回复