swagger 如何将承载令牌添加到openapi-generator-cli生成的api端点的标头中

axkjgtzd  于 2022-11-06  发布在  其他
关注(0)|答案(2)|浏览(135)

我正在测试openapi-generator-cli,以便从swagger.json文件为React客户端应用程序生成服务。
现在有些路由是受保护的,需要在头中有一个Bearer token,这个令牌在登录后返回。
在调用受保护路由的生成方法时,是否可以将它们作为配置或头参数添加?

ijnw1ujt

ijnw1ujt1#

在我的组件中,我使用一个服务来实现Api,该服务将配置作为一个参数。
myToken是一个局部变量,我以前在其中存储了令牌。

import * as Api from '../../api/src';
const configParameters: Api.ConfigurationParameters = {
  headers: {
    'Authorization': 'Bearer ' + myToken,
  },
};
const configuration = new Api.Configuration(configParameters);
const myService = new Api.MyApi(configuration);
hgqdbh6s

hgqdbh6s2#

由于openapi-generator-cli已经更改了API,因此@alex351的回答目前并不相关。
现在,传递token的正确方法应该是smth,如下所示:

// this should get a new access token or smth
async function resolveToken() {
    return Promise.resolve('token');
};

const configuration = createConfiguration({
    authMethods: {
      bearerAuth: {
        tokenProvider: {
          getToken: () => await resolveToken(),
        },
      },
    },
  });

const apiInstance = new Api(configuration);

相关问题