Flutter ICP Auth is a free, open-source Dart package for Flutter developers who want their apps to let users sign in with Internet Identity on the Internet Computer (ICP). Instead of writing the whole authentication flow by hand, you add the package and wire its login, auto-login, reload and logout behavior into your own screens. It is a developer library rather than a ready-to-run desktop program, so it suits teams building Web3 features into Flutter apps.
The current release is 1.0.0, and the last code update in the repository is from May 2024, so check the commit history and open issues before you rely on it in production. On Windows, you work with the package through a Flutter project: you write, run and build the app on your PC. The installation section below covers that setup, and the safety section lists the checks worth doing first.
What Is Flutter ICP Auth?
Flutter ICP Auth is a Dart package that connects a Flutter app to Internet Identity, the sign-in service used across the Internet Computer. The Internet Computer, often shortened to ICP, runs applications on a network of independent nodes. Internet Identity lets people prove who they are to those applications without creating a separate password for each one. The package sits between your interface and that login flow.
In practice, it gives your app a ready set of actions: start a login, sign in automatically, restore a session after reload and end the session on logout. You still design the screens and decide what a signed-in user can do. The package handles the repeated plumbing so your code stays focused on the product.
Because it is a library rather than a finished application, it is best understood as a building block. Developers combine it with their own state management, routing and backend calls to ICP canisters. A canister is the ICP term for a smart contract that runs on the network.
Who Is Flutter ICP Auth For?
This package fits Flutter developers who are building a mobile or cross-platform app that needs ICP-based sign-in. A typical case is a team adding a login button to an existing Flutter app that already talks to an ICP backend, so users can access their data with Internet Identity rather than a new account system.
It is also useful for prototypes. A developer testing a Web3 idea can get a working login quickly instead of building the authentication flow first. Developers learning ICP can use it to see how sessions behave when an app is closed and reopened.
It is less suited to people who only want an end-user program. If you are looking for a finished tool to install and use every day, the desktop applications in this catalog are a better fit.
How Sessions, Delegations and Auto Login Work Together
A session is the period during which an app remembers that a user is signed in. After a successful Internet Identity login, the package stores session data on the device, including a delegation object. A delegation is a time-limited permission that lets your app act for the signed-in identity without asking for the main credentials each time.
When the app restarts, the package reads the stored session and restores the login state. If the stored delegation has expired or been cleared, the user must sign in again. Auto login builds on this: it triggers sign-in automatically when conditions you set are met.
For developers, the practical lesson is to test these transitions deliberately. Sign in, close the app, reopen it, then log out and confirm the signed-out screen appears. These checks catch most session bugs early.
Key features
Internet Identity Login
Auto Login
Session Reload
Logout
Supported coins
The package is built around the Internet Identity sign-in flow on the Internet Computer, so its supported login method is Internet Identity. It handles sign-in rather than holding coins or tokens, so there is no asset list to check before you start.
How to install Flutter ICP Auth on Windows
- 1
Get the source code
Open the official GitHub repository at github.com/icp-hub/flutter_icp_auth and download the source from the Releases page, or use the repository archive. Download only from the official GitHub repository, never from unofficial mirrors or forum links. The latest listed version is 1.0.0.
- 2
Verify the download
If the release provides a SHA-256 checksum or a signature, compare it with your file using Get-FileHash -Algorithm SHA256 in PowerShell before you open the archive. If no checksum is published, confirm that the tag or commit you use matches the official repository.
- 3
Install the Flutter toolchain
Install the Flutter SDK for Windows by following Flutter's official setup guide. The package is used inside Flutter projects, so you need the toolchain on your machine to build and run an app. End users of your app do not need to install it.
- 4
Add the package to your project
Point the dependency in your project's pubspec.yaml at the source you downloaded, then run flutter pub get in the project folder. Check that the package resolves without errors before writing any login code.
-
Configure and run
Set the boolean value in the package configuration to match your app's requirements. Then run flutter run on Windows or on your target device, and confirm the login screen appears.
How to use Flutter ICP Auth
Once the package is in your project, the workflow follows its four features. Here is a typical sequence for a developer building a first working login.
- Add a login button that triggers the Internet Identity sign-in flow when tapped.
- Enable auto login for returning users, using the boolean setting you configured earlier to match your app's requirements.
- Sign in, close the app completely and reopen it. Confirm that session reload restores the signed-in state without a new prompt.
- Add a logout control in your settings or profile screen, then confirm the signed-out view appears and the stored session is cleared.
- Run the app on Windows during development, and test on Android as well if you target that platform.
Keep a short test checklist for each release so that login, auto login, reload and logout are checked every time. This catches regressions before users see them.
Pros & cons
- Free and open source, with the source code published on GitHub
- Covers login, auto login, session reload and logout in one package
- Written in Dart and Flutter, so it fits existing Flutter codebases
- Saves development time compared with building Internet Identity sign-in from scratch
- The latest version is 1.0.0 and the last code update dates to May 2024
- It is a developer library, not a ready-to-use Windows application
- The repository lists Android as the platform, so other targets need your own testing
- Requires Flutter development knowledge and a configured project
Is Flutter ICP Auth safe?
Download the package only from the official GitHub repository, and compare the SHA-256 checksum or signature of any release archive before you use it. Because the package manages sign-in sessions, do not paste session data, delegation objects or identity details into public issue trackers, chat channels or third-party websites. Never enter a seed phrase on a third-party site while testing ICP features. Review the code and commit history before adding the package to an app that handles real users, since the last code update was in May 2024. Use test identities during development.
- Official source only. Download from github.com/icp-hub/flutter_icp_auth. Ignore ads and lookalike domains.
- Check the SHA-256. Compare the installer hash with the value the developer publishes before running it.
- Never share your seed phrase. No developer, support agent or website — including CryptApps — will ever ask for it.
Alternatives
Most related programs in this catalog are tools for Solidity and Ethereum-style smart contracts, such as Remix Desktop, Foundry, and Visual Studio Code with Solidity extensions, plus RPC providers like Alchemy, Infura and QuickNode. Those help you write, test and connect to contracts. Flutter ICP Auth addresses a narrower problem: it adds Internet Identity sign-in to a Flutter app that works with the Internet Computer. Choose the Solidity tools when your work centers on EVM contracts, and choose Flutter ICP Auth when your app needs ICP login. Some teams may use both in different parts of a project.
Specifications
- Price
- Free
- Type
- Open source
- License
- —
- Latest version
- 1.0.0
- Last update
- 24 May 2024
- Windows support
- Yes (Windows build or installer)
- Source code
- github.com/icp-hub/flutter_icp_auth
Frequently asked questions
Yes, Flutter ICP Auth is free. It is an open-source Dart package, and its source code is published on GitHub. You do not pay to download or use it in your own project, though you still spend your own development time and may have hosting costs for the apps you build.
It is reasonably safe when you take it from the official GitHub repository, verify the release and review the code. Because it handles sign-in sessions, treat it like any other authentication dependency. Test with test identities and keep session data out of logs. The safety section lists the checks to run.
Yes, you can develop with it on Windows by installing the Flutter toolchain on your PC. The project lists Windows support, but the package is a library, so you build and run your own Flutter app with it. Because the repository names Android as a platform, test on that target as well.
Auto login signs users in automatically when the app opens, based on the conditions you configure. It is useful for returning users who should not repeat the sign-in step every time. Decide how long sessions last and whether users can opt out, since automatic sign-in should respect your app's privacy expectations.
When the app is reloaded or opened again, the package checks stored session data and the delegation object to restore the login state. The user stays signed in without a new prompt, as long as the stored session is still valid. Test this by closing and reopening the app during development.
Yes, the package is written in Dart and used inside Flutter projects, so you should be comfortable with Dart and basic Flutter widgets. Developers already familiar with Flutter can add it quickly. Those new to the framework should learn the basics first.
The latest version is 1.0.0, and the last code update was on May 24, 2024. Check the GitHub repository for recent commits, open issues and releases before adopting it. If activity is low, plan to test thoroughly or maintain your own fork.
Verdict
Flutter ICP Auth suits Flutter developers who need Internet Identity sign-in on the Internet Computer and want a free, open-source starting point with login, auto login, session reload and logout already covered. It is not an end-user program, and its last code update was in May 2024, so review the repository before committing to it. If you are building a production app, test it carefully and keep an eye on the project's activity.