首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将多个授权密钥传递给swagger?

如何将多个授权密钥传递给swagger?
EN

Stack Overflow用户
提问于 2015-06-12 16:26:38
回答 1查看 692关注 0票数 1

使用昂首阔步版本2.1.0,我试图向请求的URL传递多个授权参数。看看我尝试过的关于github的实例

代码语言:javascript
复制
var api_key = 'api_key',
    username = 'username';

swaggerUi.api.clientAuthorizations.add('api_key', new SwaggerClient.ApiKeyAuthorization('api_key', api_key, 'query'));
swaggerUi.api.clientAuthorizations.add('username', new SwaggerClient.ApiKeyAuthorization('username', username, 'query'));

但这只会导致第一次传递给XHR,例如:

钥匙

如果我换了订单:

代码语言:javascript
复制
swaggerUi.api.clientAuthorizations.add('username', new SwaggerClient.ApiKeyAuthorization('username', username, 'query'));
swaggerUi.api.clientAuthorizations.add('api_key', new SwaggerClient.ApiKeyAuthorization('api_key', api_key, 'query'));

然后:

http://127.0.0.1:8000/api/v1/channel?username=username

我还尝试在add中使用对象表示法:

代码语言:javascript
复制
swaggerUi.api.clientAuthorizations.add({
    'api_key': new SwaggerClient.ApiKeyAuthorization("api_key", api_key, "query"),
    'username': new SwaggerClient.ApiKeyAuthorization("username", username, "query")
});

但是,仍然只传递了一个参数:

钥匙

函数的名称表明,应该可以在不发生任何冲突的情况下传递多个授权参数,但实践表明并非如此。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-07 16:09:33

唯一适合我的方法是将自定义函数绑定到swaggerUi.api.clientAuthorizations.apply,例如:

代码语言:javascript
复制
    swaggerUi.api.clientAuthorizations.apply = function (obj) {
        obj.url += '?api_key=' + api_key + '&username=' + username;
    }

(该示例假定api_key和用户名存在于当前范围中)

swaggerUi.api.clientAuthorizations.apply采用两个参数-- obj, securities --这是第一个要将凭据附加到您的HTTP请求的参数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30807936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档