Start to implement OpenID authentication

This commit is contained in:
2024-04-25 19:25:08 +02:00
parent 48f24e6ca1
commit d8946eb462
12 changed files with 427 additions and 6 deletions

View File

@ -1,9 +1,10 @@
use actix_remote_ip::RemoteIPConfig;
use actix_web::middleware::Logger;
use actix_web::web::Data;
use actix_web::{App, HttpServer};
use actix_web::{web, App, HttpServer};
use light_openid::basic_state_manager::BasicStateManager;
use remote_backend::app_config::AppConfig;
use remote_backend::controllers::auth_controller;
use remote_backend::virtweb_client;
#[actix_web::main]
@ -21,6 +22,22 @@ async fn main() -> std::io::Result<()> {
.app_data(Data::new(RemoteIPConfig {
proxy: AppConfig::get().proxy_ip.clone(),
}))
.route(
"/api/auth/start_oidc",
web::get().to(auth_controller::start_oidc),
)
.route(
"/api/auth/finish_oidc",
web::post().to(auth_controller::finish_oidc),
)
.route(
"/api/auth/user",
web::get().to(auth_controller::current_user),
)
.route(
"/api/auth/sign_out",
web::get().to(auth_controller::sign_out),
)
})
.bind(&AppConfig::get().listen_address)?
.run()