Emit id_token

This commit is contained in:
2022-04-13 19:07:58 +02:00
parent d69b44528e
commit 53a540139c
10 changed files with 734 additions and 25 deletions

View File

@ -16,6 +16,7 @@ use basic_oidc::controllers::login_controller::{login_route, logout_route};
use basic_oidc::data::app_config::AppConfig;
use basic_oidc::data::client::ClientManager;
use basic_oidc::data::entity_manager::EntityManager;
use basic_oidc::data::jwt_signer::JWTSigner;
use basic_oidc::data::user::{hash_password, User};
use basic_oidc::middlewares::auth_middleware::AuthMiddleware;
@ -66,6 +67,8 @@ async fn main() -> std::io::Result<()> {
let users_actor = UsersActor::new(users).start();
let bruteforce_actor = BruteForceActor::default().start();
let openid_sessions_actor = OpenIDSessionsActor::default().start();
let jwt_signer = JWTSigner::gen_from_memory()
.expect("Failed to generate JWKS key");
log::info!("Server will listen on {}", config.listen_address);
let listen_address = config.listen_address.to_string();
@ -87,6 +90,7 @@ async fn main() -> std::io::Result<()> {
.app_data(web::Data::new(openid_sessions_actor.clone()))
.app_data(web::Data::new(config.clone()))
.app_data(web::Data::new(clients))
.app_data(web::Data::new(jwt_signer.clone()))
.wrap(Logger::default())
.wrap(AuthMiddleware {})
@ -131,6 +135,7 @@ async fn main() -> std::io::Result<()> {
.route("/.well-known/openid-configuration", web::get().to(openid_controller::get_configuration))
.route(AUTHORIZE_URI, web::get().to(openid_controller::authorize))
.route(TOKEN_URI, web::post().to(openid_controller::token))
.route(CERT_URI, web::get().to(openid_controller::cert_uri))
})
.bind(listen_address)?
.run()