Working on auth
This commit is contained in:
@@ -5,8 +5,9 @@ extern crate diesel_migrations;
|
||||
use std::env;
|
||||
use std::collections::HashSet;
|
||||
use std::sync::Arc;
|
||||
use actix_web_httpauth::middleware::HttpAuthentication;
|
||||
use db::users::validator;
|
||||
use actix_identity::IdentityMiddleware;
|
||||
use actix_session::{SessionMiddleware, storage::{RedisActorSessionStore, CookieSessionStore}, config::{PersistentSession, BrowserSession, CookieContentSecurity}};
|
||||
// use db::users::validator;
|
||||
use log::{error, warn, info};
|
||||
use serenity::client::Cache;
|
||||
use serenity::framework::StandardFramework;
|
||||
@@ -15,7 +16,7 @@ use serenity::prelude::*;
|
||||
use songbird::{SerenityInit, Songbird};
|
||||
|
||||
use actix_cors::Cors;
|
||||
use actix_web::{HttpServer, App, web};
|
||||
use actix_web::{HttpServer, App, web, cookie::{time::Duration, SameSite}};
|
||||
use crate::bot::{commands::oai::GPTModel, handler::Handler};
|
||||
|
||||
use dotenv::dotenv;
|
||||
@@ -113,18 +114,39 @@ async fn main() -> std::io::Result<()> {
|
||||
let port = env::var("SERVICE_PORT").unwrap_or("5000".to_string());
|
||||
|
||||
let server = match HttpServer::new(move || {
|
||||
let auth = HttpAuthentication::bearer(validator);
|
||||
// let auth = HttpAuthentication::bearer(validator);
|
||||
let private_key = actix_web::cookie::Key::generate();
|
||||
// let redis_host = env::var("REDIS_HOST").unwrap_or("localhost".to_string());
|
||||
// let redis_port = env::var("REDIS_PORT").unwrap_or("6379".to_string());
|
||||
let session = SessionMiddleware::builder(
|
||||
// RedisActorSessionStore::new(format!("{}:{}", redis_host, redis_port)),
|
||||
CookieSessionStore::default(),
|
||||
private_key
|
||||
)
|
||||
.session_lifecycle(BrowserSession::default())
|
||||
.cookie_name("auth".to_owned())
|
||||
.cookie_secure(false)
|
||||
.cookie_http_only(false)
|
||||
// .cookie_content_security(CookieContentSecurity::Private)
|
||||
.cookie_domain(Some("localhost".to_owned()))
|
||||
.cookie_path("/".to_owned())
|
||||
.build();
|
||||
let cors = Cors::default()
|
||||
.allow_any_origin()
|
||||
.allow_any_method()
|
||||
.allow_any_header()
|
||||
.supports_credentials()
|
||||
.max_age(3600);
|
||||
// let cors = Cors::permissive();
|
||||
App::new()
|
||||
.wrap(auth)
|
||||
// .wrap(auth)
|
||||
.wrap(IdentityMiddleware::default())
|
||||
.wrap(session)
|
||||
.wrap(cors)
|
||||
.app_data(web::Data::new(Arc::clone(&app_data)))
|
||||
.configure(crate::db::messages::init_routes)
|
||||
.configure(crate::db::spells::init_routes)
|
||||
.configure(crate::db::users::init_routes)
|
||||
.configure(crate::bot::api::init_routes)
|
||||
})
|
||||
.bind(format!("{}:{}", host, port)) {
|
||||
|
||||
Reference in New Issue
Block a user