在我的一个 Rest API 调用中,我需要添加标题“授权:partner_id:时间戳签名”
其中公司名称是静态字符串,它可以被硬编码,因为 partner_id 是查询参数的一部分,用户输入它并且签名计算为 sha256(secret,password).digest.encode('base64')
我现在如何以及在哪里可以实现此授权,因为我看到只有 api_key,并且在 swagger-ui 中允许基本授权。
在我的一个 Rest API 调用中,我需要添加标题“授权:partner_id:时间戳签名”
其中公司名称是静态字符串,它可以被硬编码,因为 partner_id 是查询参数的一部分,用户输入它并且签名计算为 sha256(secret,password).digest.encode('base64')
我现在如何以及在哪里可以实现此授权,因为我看到只有 api_key,并且在 swagger-ui 中允许基本授权。
是的,您可以轻松创建自己的签名技术。来自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;
};
并将其添加到这样的招摇中:
client.clientAuthorizations
.add("custom", new CustomRequestSigner("custom","special-key","query"));
然后任何标记有安全要求的操作custom
都会应用这个。