2个不稳定版本
0.2.0 | 2022年3月23日 |
---|---|
0.1.0 | 2022年3月21日 |
在认证中排名第980
每月下载量24次
16KB
228 行
通过RFC 7662令牌反射端点验证OAuth2令牌的Actix-web提取器。
为了保护资源,您需要添加RequireAuthorization
提取器。在使用之前,此提取器必须配置令牌反射url。
提取器接受一个实现AuthorizationRequirements
特质的对象,该特质用于分析反射响应,以确定请求是否已授权。
示例
#[get("/protected/api")]
async fn handle_read(_auth: RequireAuthorization<AnyScope>) -> impl Responder {
HttpResponse::Ok().body("Success!\n")
}
fn setup_server() -> std::io::Result<impl Future> {
let oauth_config = RequireAuthorizationConfig::<StandardToken>::new(
"client_id".to_string(),
Some("client_secret".to_string()),
"https://example.com/oauth/authorize".parse().expect("invalid url"),
"https://example.com/oauth/introspect".parse().expect("invalid url"),
);
Ok(HttpServer::new(move || {
actix_web::App::new()
.app_data(oauth_config.clone())
.service(handle_read)
})
.bind("127.0.0.1:8182".to_string())?
.run())
}
依赖项
~16–30MB
~540K SLoC