Struct tauri_utils::config::SecurityConfig
source · pub struct SecurityConfig {
pub csp: Option<Csp>,
pub dev_csp: Option<Csp>,
pub freeze_prototype: bool,
pub dangerous_disable_asset_csp_modification: DisabledCspModificationKind,
pub dangerous_remote_domain_ipc_access: Vec<RemoteDomainAccessScope>,
pub dangerous_use_http_scheme: bool,
}
Expand description
Security configuration.
See more: https://tauri.app/v1/api/config#securityconfig
Fields§
§csp: Option<Csp>
The Content Security Policy that will be injected on all HTML files on the built application.
If dev_csp
is not specified, this value is also injected on dev.
This is a really important part of the configuration since it helps you ensure your WebView is secured. See https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP.
dev_csp: Option<Csp>
The Content Security Policy that will be injected on all HTML files on development.
This is a really important part of the configuration since it helps you ensure your WebView is secured. See https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP.
freeze_prototype: bool
Freeze the Object.prototype
when using the custom protocol.
dangerous_disable_asset_csp_modification: DisabledCspModificationKind
Disables the Tauri-injected CSP sources.
At compile time, Tauri parses all the frontend assets and changes the Content-Security-Policy to only allow loading of your own scripts and styles by injecting nonce and hash sources. This stricts your CSP, which may introduce issues when using along with other flexing sources.
This configuration option allows both a boolean and a list of strings as value. A boolean instructs Tauri to disable the injection for all CSP injections, and a list of strings indicates the CSP directives that Tauri cannot inject.
WARNING: Only disable this if you know what you are doing and have properly configured the CSP. Your application might be vulnerable to XSS attacks without this Tauri protection.
dangerous_remote_domain_ipc_access: Vec<RemoteDomainAccessScope>
Allow external domains to send command to Tauri.
By default, external domains do not have access to window.__TAURI__
, which means they cannot
communicate with the commands defined in Rust. This prevents attacks where an externally
loaded malicious or compromised sites could start executing commands on the user’s device.
This configuration allows a set of external domains to have access to the Tauri commands. When you configure a domain to be allowed to access the IPC, all subpaths are allowed. Subdomains are not allowed.
WARNING: Only use this option if you either have internal checks against malicious external sites or you can trust the allowed external sites. You application might be vulnerable to dangerous Tauri command related attacks otherwise.
dangerous_use_http_scheme: bool
Sets whether the custom protocols should use http://<scheme>.localhost
instead of the default https://<scheme>.localhost
on Windows.
WARNING: Using a http
scheme will allow mixed content when trying to fetch http
endpoints and is therefore less secure but will match the behavior of the <scheme>://localhost
protocols used on macOS and Linux.
Trait Implementations§
source§impl Clone for SecurityConfig
impl Clone for SecurityConfig
source§fn clone(&self) -> SecurityConfig
fn clone(&self) -> SecurityConfig
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for SecurityConfig
impl Debug for SecurityConfig
source§impl Default for SecurityConfig
impl Default for SecurityConfig
source§fn default() -> SecurityConfig
fn default() -> SecurityConfig
source§impl<'de> Deserialize<'de> for SecurityConfig
impl<'de> Deserialize<'de> for SecurityConfig
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl PartialEq for SecurityConfig
impl PartialEq for SecurityConfig
source§impl Serialize for SecurityConfig
impl Serialize for SecurityConfig
impl Eq for SecurityConfig
impl StructuralPartialEq for SecurityConfig
Auto Trait Implementations§
impl Freeze for SecurityConfig
impl RefUnwindSafe for SecurityConfig
impl Send for SecurityConfig
impl Sync for SecurityConfig
impl Unpin for SecurityConfig
impl UnwindSafe for SecurityConfig
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.