gpt4 book ai didi

Rust (warp) 如何丢弃未经授权的请求?

转载 作者:行者123 更新时间:2023-12-03 11:30:33 26 4
gpt4 key购买 nike

假设我有一个函数来检查授权 header 是否有效以及身份验证是否正确。如何制作一个扭曲过滤器来丢弃所有带有无效 header 或虚假凭据的请求?

最佳答案

这是一个构建过滤器的函数示例,该过滤器完全执行此操作:

/// A warp filter that checks the authorization through API tokens.
/// The header `API_TOKEN_HEADER` should be present and valid otherwise the request is rejected.
pub async fn api_token_filter(
context: SharedContext,
) -> impl Filter<Extract = (), Error = Rejection> + Clone {
let with_context = warp::any().map(move || context.clone());
warp::header::header(API_TOKEN_HEADER)
.and(with_context)
.and_then(authorize_token)
.and(warp::any())
.untuple_one()
}
在哪里: API_TOKEN_HEADER是您要检查的标题。 authorize_token是一个带签名的函数
async fn authorize_token(token: String, context: SharedContext) -> Result<(), Rejection>
这实际上计算了身份验证。

关于Rust (warp) 如何丢弃未经授权的请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65383671/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com