Skip to content

Latest commit

 

History

History
32 lines (28 loc) · 959 Bytes

README.md

File metadata and controls

32 lines (28 loc) · 959 Bytes

DinoPark Gate (controlling Dinos since 2019)

Build Status

A basic authentication middleware for actix-web

use actix_web::{web, App, HttpRequest, HttpServer, Responder};
use dino_park_gate::provider::Provider;
use dino_park_gate::simple::SimpleAuth;

async fn root(_: HttpRequest) -> impl Responder {
    "Authorized!"
}

#[actix_rt::main]
async fn main() -> std::io::Result<()> {
    let provider = Provider::from_issuer("https://auth.mozilla.auth0.com/")
        .await
        .unwrap();
    HttpServer::new(move || {
        let auth = SimpleAuth {
            checker: provider.clone(),
            validation_options: Default::default(),
        };
        App::new().wrap(auth).service(web::resource("/").to(root))
    })
    .workers(1)
    .bind("127.0.0.1:8000")?
    .run()
    .await
}