{"id":20747716,"url":"https://github.com/web3auth/web3auth-flutter-sdk","last_synced_at":"2025-04-09T15:08:47.804Z","repository":{"id":37862343,"uuid":"445468248","full_name":"Web3Auth/web3auth-flutter-sdk","owner":"Web3Auth","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-08T07:11:11.000Z","size":492,"stargazers_count":37,"open_issues_count":2,"forks_count":25,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-09T15:08:40.582Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Web3Auth.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-07T09:34:03.000Z","updated_at":"2025-04-08T06:56:18.000Z","dependencies_parsed_at":"2023-11-14T07:29:31.210Z","dependency_job_id":"a6184cf7-6c17-45d1-899b-e641acf96787","html_url":"https://github.com/Web3Auth/web3auth-flutter-sdk","commit_stats":{"total_commits":76,"total_committers":9,"mean_commits":8.444444444444445,"dds":0.7236842105263157,"last_synced_commit":"a1c1ab10ad526f710c15d8bf7143fbe86cd09d7b"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Web3Auth%2Fweb3auth-flutter-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Web3Auth%2Fweb3auth-flutter-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Web3Auth%2Fweb3auth-flutter-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Web3Auth%2Fweb3auth-flutter-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Web3Auth","download_url":"https://codeload.github.com/Web3Auth/web3auth-flutter-sdk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248055282,"owners_count":21040157,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T08:14:12.382Z","updated_at":"2025-04-09T15:08:47.785Z","avatar_url":"https://github.com/Web3Auth.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Web3Auth Flutter SDK\n\nWeb3Auth is where passwordless auth meets non-custodial key infrastructure for Web3 apps and wallets. By aggregating OAuth (Google, Twitter, Discord) logins, different wallets and innovative Multi Party Computation (MPC) - Web3Auth provides a seamless login experience to every user on your application.\n\n## 📖 Documentation\n\nCheckout the official [Web3Auth Documentation](https://web3auth.io/docs) and [SDK Reference](https://web3auth.io/docs/sdk/pnp/flutter) to get started!\n\n## 💡 Features\n\n- Plug and Play, OAuth based Web3 Authentication Service\n- Fully decentralized, non-custodial key infrastructure\n- End to end Whitelabelable solution\n- Threshold Cryptography based Key Reconstruction\n- Multi Factor Authentication Setup \u0026 Recovery (Includes password, backup\n  phrase, device factor editing/deletion etc)\n- Support for WebAuthn \u0026 Passwordless Login\n- Support for connecting to multiple wallets\n- DApp Active Session Management\n\n...and a lot more\n\n## ⏪ Requirements\n\n- For iOS, only iOS 14+ supported since we requires ASWebAuthenticationSession.\n  - Xcode 11.4+ / 12.x\n  - Swift 4.x / 5.x\n  - For iOS build: `platform :ios` needs to be `14.0`. Check `ios/Podfile` in\n    your Flutter project to change it.\n- For Android, API version 26 or newer is supported.\n  - For Android build: compileSdkVersion needs to be 34.\n  - Check `android/app/build.gradle` in your Flutter project to change it.\n\n## ⚡ Installation\n\nAdd `web3auth_flutter` as a dependency to your `pubspec.yaml` file.\n\n```yml\ndependencies:\n  web3auth_flutter: ^6.1.2\n```\n\nor\n\n```sh\nflutter pub add web3auth_flutter\n```\n\n## 🌟 Configuration\n\nCheckout [SDK Reference](https://web3auth.io/docs/sdk/pnp/flutter/install) to configure for Android and iOS\nbuilds.\n\n## 🩹 Example\n\nCheckout the examples for your preferred blockchain and platform in our [examples](https://web3auth.io/docs/examples)\n\n```dart\n// Initialization\nawait Web3AuthFlutter.init(\n  Web3AuthOptions(\n    // Get your client it from dashboard.web3auth.io\n    clientId: 'YOUR_WEB3AUTH_CLIENT_ID',\n    network: Network.sapphire_devnet,\n    // Your redirect url, check how to configure.\n    // Android: https://web3auth.io/docs/sdk/pnp/flutter/install#android-configuration\n    // iOS: https://web3auth.io/docs/sdk/pnp/flutter/install#ios-configuration\n    redirectUrl: redirectUrl,\n  ),\n);\n\n// Call initialize() function to get privKey and user information without relogging in\n// user if a user has an active session. If no active session is present, the \n// function throws an error. \nawait Web3AuthFlutter.initialize();\n\n// Login\nawait Web3AuthFlutter.login(LoginParams(loginProvider: Provider.google));\n\n// Logout\nawait Web3AuthFlutter.logout();\n```\n\n## Triggering UserCancellation on Android\n\nOn Android, if you want to trigger exception for user closing the browser tab, you have to use\n`WidgetsBindingObserver` mixin with your your login screen.\n\n```dart\nclass LoginScreen extends State\u003cMyApp\u003e with WidgetsBindingObserver {\n \n  @override\n  void initState() {\n    super.initState();\n    WidgetsBinding.instance.addObserver(this);\n  }\n  @override\n  void dispose() {\n    super.dispose();\n    WidgetsBinding.instance.removeObserver(this);\n  }\n  @override\n  void didChangeAppLifecycleState(final AppLifecycleState state) {\n    // This is important to trigger the user cancellation on Android.\n    if (state == AppLifecycleState.resumed) {\n      Web3AuthFlutter.setCustomTabsClosed();\n    }\n  }\n  \n   @override\n  Widget build(BuildContext context) { \n    // Your UI code\n  }\n  Future\u003cvoid\u003e _login() async {\n    try {\n      await Web3AuthFlutter.login(LoginParams(loginProvider: Provider.google));\n    } on UserCancelledException {\n        log(\"User cancelled.\");\n    } on UnKnownException {\n        log(\"Unknown exception occurred\");\n    } catch (e) {\n        log(e.toString());\n    }\n  }\n}\n```\n\n## 🌐 Demo\n\nCheckout the [Web3Auth Demo](https://demo-app.web3auth.io/) to see how Web3Auth can be used in an application.\n\nHave a look at our [Web3Auth PnP Flutter Quick Start](https://web3auth.io/docs/quick-start?product=PNP\u0026sdk=PNP_FLUTTER\u0026framework=IOS\u0026stepIndex=0) to help you quickly integrate a basic instance of Web3Auth Plug and Play in your Flutter app.\n\nFurther checkout the [example folder](https://github.com/Web3Auth/web3auth-flutter-sdk/tree/master/example) within this repository, which contains a sample app.\n\n## 💬 Troubleshooting and Support\n\n- Have a look at our [Community Portal](https://community.web3auth.io/) to see if anyone has any questions or issues you might be having. Feel free to create new topics and we'll help you out as soon as possible.\n- Checkout our [Troubleshooting Documentation Page](https://web3auth.io/docs/troubleshooting) to know the common issues and solutions.\n- For Priority Support, please have a look at our [Pricing Page](https://web3auth.io/pricing.html) for the plan that suits your needs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweb3auth%2Fweb3auth-flutter-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweb3auth%2Fweb3auth-flutter-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweb3auth%2Fweb3auth-flutter-sdk/lists"}