Skip to main content

tauri_plugin_social_auth/
lib.rs

1use 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}