diff --git a/.changes/expose-invoke-key.md b/.changes/expose-invoke-key.md new file mode 100644 index 000000000000..8c7f8c2e18d0 --- /dev/null +++ b/.changes/expose-invoke-key.md @@ -0,0 +1,5 @@ +--- +"tauri": patch:enhance +--- + +Added `App::invoke_key` and `AppHandle::invoke_key` for custom invoke systems that rely on manual `Webview::on_message` calls. diff --git a/crates/tauri/src/app.rs b/crates/tauri/src/app.rs index aaf09897ca07..e8512e56d40a 100644 --- a/crates/tauri/src/app.rs +++ b/crates/tauri/src/app.rs @@ -878,6 +878,15 @@ macro_rules! shared_app_impl { webview.resources_table().clear(); } } + + /// Gets the invoke key that must be referenced when using [`crate::webview::InvokeRequest`]. + /// + /// # Security + /// + /// DO NOT expose this key to third party scripts as might grant access to the backend from external URLs and iframes. + pub fn invoke_key(&self) -> &str { + self.manager.invoke_key() + } } impl Listener for $app {