### ダメな例
with_stateを複数繋げるのは上手くいかない
let config = CsrfConfig::default(); let app = axum::Router::new() .merge(public_router) .merge(private_router) .with_state(config.clone()) .with_state(app_state);
pub async fn handle_hoge(token: CsrfToken, State(state): State<model::AppState>)-> Response {
### 上手くいく例
csrfの方をstateではなく、layerで渡してあげる。
axum_csrf = {version = “0.11.0”,features = [“layer”]}
use axum_csrf::{CsrfToken, CsrfConfig, CsrfLayer}; let config = CsrfConfig::default(); let app = Router::new() .merge(public_router) .merge(private_router) .layer(CsrfLayer::new(config)) .with_state(app_state);
pub async fn handle_hoge(token: CsrfToken, State(state): State<model::AppState>)-> Response {
なるほどね~