问题描述
当有两个身份验证选项时,我有一个方案要实现,一个是 Oauth2,另一个是自定义标头“x-api-key”。如果仅存在 x-api-key,我想在未经授权的情况下将请求传递给后端。这可以使用自定义过滤器来实现吗?
解决方法
目前,我们对此没有任何选择。但是您可以尝试编写包含以下代码的自定义过滤器,并将其放在 Auth 过滤器之前。
string X_API_HEADER_NAME = "x-api-key";
string SKIP_ALL_FILTERS = "skip_filters";
if (request.hasHeader(X_API_HEADER_NAME)) {
context.attributes[SKIP_ALL_FILTERS] = true;
}