在我的 Rest API 调用之一中,我需要添加 header “授权:partner_id:时间戳签名”
其中公司名称是静态字符串,可以对其进行硬编码,如下所示 Partner_id 是用户输入的查询参数的一部分, 签名计算为 sha256(secret,password).digest.encode('base64')
我现在如何以及在哪里可以实现此授权,因为我看到 swagger-ui 中只允许 api_key 和基本授权。
最佳答案
是的,您可以轻松创建自己的签名技术。来自 swagger-js自述文件:
var CustomRequestSigner = function(name) {
this.name = name;
};
CustomRequestSigner.prototype.apply = function(obj, authorizations) {
// do something real instead of this...
var hashFunction = this._btoa;
var hash = hashFunction(obj.url);
obj.headers["signature"] = hash;
return true;
};
并将其添加到 swagger 中,如下所示:
client.clientAuthorizations
.add("custom", new CustomRequestSigner("custom","special-key","query"));
然后,任何标记有安全要求自定义
的操作都将应用此功能。
关于javascript - 如何在 swagger UI 中添加自定义授权?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33141367/