tauri_plugin_social_auth/
lib.rs1use tauri::{
2 plugin::{Builder, TauriPlugin},
3 Runtime,
4};
5
6#[cfg(target_os = "android")]
7const SOCIAL_AUTH_PLUGIN_IDENTIFIER: &str = "app.tauri.socialauth";
8
9#[cfg(target_os = "macos")]
10mod macos;
11
12#[cfg(target_os = "macos")]
13mod models;
14
15#[cfg(target_os = "ios")]
16tauri::ios_plugin_binding!(init_plugin_social_auth);
17
18pub fn init<R: Runtime>() -> TauriPlugin<R> {
19 #[allow(unused_mut)]
20 let mut builder = Builder::new("social-auth");
21
22 #[cfg(target_os = "macos")]
23 {
24 builder = builder.invoke_handler(tauri::generate_handler![
25 macos::google_sign_in,
26 macos::vk_sign_in,
27 macos::yandex_sign_in,
28 macos::apple_sign_in
29 ]);
30 }
31
32 builder
33 .setup(|_app, _api| {
34 #[cfg(target_os = "android")]
35 {
36 let _ = _api
37 .register_android_plugin(SOCIAL_AUTH_PLUGIN_IDENTIFIER, "SocialAuthPlugin")?;
38 }
39
40 #[cfg(target_os = "ios")]
41 {
42 let _ = _api.register_ios_plugin(init_plugin_social_auth)?;
43 }
44
45 Ok(())
46 })
47 .build()
48}