Flutter II Authentication for Windows is a free, open-source Dart and Flutter library that helps developers sign users in with Internet Identity, the authentication service of the Internet Computer. It is aimed at app developers who want Flutter apps on desktop and mobile to reach a sign-in flow that normally runs only inside a web browser.
Before you start, note that the last code update to the project dates from January 2024, which is more than two years ago. Treat it as a reference implementation rather than a maintained product, and review the code before relying on it. The project lists Windows, macOS, Linux, Android and iOS among its platforms and includes a small Motoko backend example to test your setup.
What Is Internet Identity and Why Sign-In Works Differently
Internet Identity is the authentication service used on the Internet Computer. Instead of a traditional username and password, a user gets an identity tied to a number known as an II anchor. That anchor is stored in the user's browser, which is why the sign-in process is built around browser windows.
This design has practical consequences for app developers. A Flutter app running on Windows, macOS, Linux, Android or iOS cannot simply send a request to Internet Identity and read the answer back. The service expects a browser context and communicates through window and postMessage calls, so the app has to hand the job to a browser component.
Flutter II Authentication handles that hand-off for you. Understanding this model makes the rest of the library easier to follow, because each design choice, from the WebView window to the middle page, exists to respect how Internet Identity works.
Who Flutter II Authentication Is For
The library suits developers who already know Flutter and want to connect their interface to a backend on the Internet Computer. A typical case is a desktop tool for Windows that needs to call a Motoko backend only for signed-in users. Another is a mobile prototype where you want to test whether a sign-in flow works before investing in a full product.
Learners are also a good audience. The repository shows, in code, how a redirect-based login is wired together, and the backend example gives you a clear pass or fail result when you test an authorized call.
It is less suited to people looking for a finished application. There is no interface to use out of the box, and the project expects you to write the screens yourself. If you want a ready-made app that you can open and use immediately, this is not the right kind of product.
Key Terms: Canisters, Anchors and Non-Anonymous Identities
A canister is the basic unit of deployment on the Internet Computer. It bundles code and state into one program that runs on the network, and in this project the backend code is written in Motoko. Canisters are the thing your Flutter app ultimately talks to.
An II anchor is the number that represents a user's Internet Identity. Because the anchor lives in the browser, the library routes sign-in through the browser rather than trying to move the identity into the app itself.
An anonymous identity is one that has not been authenticated. A non-anonymous identity has signed in, and many backend methods need it. The increment method in the example falls into that group, so a call made without signing in will not succeed. Knowing this distinction saves time when a backend call fails for reasons that look mysterious at first.
Key features
Logic-only design
Browser-based sign-in window
Middle page redirect
Why the library avoids direct canister calls
Motoko backend example
Honest limitations
Supported coins
The library focuses on authentication for the Internet Computer, with Internet Identity as the sign-in service. The client side is written in Dart with Flutter, and the sample backend is written in Motoko. Because it handles sign-in rather than payments or wallets, the most relevant network for your work is the Internet Computer itself.
How to install Flutter II Authentication on Windows
- 1
Open the official project page
Start from the project's GitHub repository, which is the official source for this library. Download only from the official website or the project's GitHub Releases page, and avoid copies posted on other sites. Look at the file list and any release notes before you download anything.
- 2
Verify the download
Compare the SHA-256 checksum of the file you downloaded with the value published by the project. If the project provides a signature, verify it as well. Do not run a file that does not match, and do not continue if the checksum is missing and you cannot confirm the source.
- 3
Install the ready-made build
If you received a Windows build or installer, run it as you would any other program and follow the on-screen prompts. If you received a plain archive, extract it to a folder of your choice. Keep the folder in a location you control so you can find it later.
-
Prepare the development copies
For the full example, clone the repository once inside WSL Ubuntu and once in your Windows or macOS location. Run the commands listed in the project's instructions in the WSL copy. The Windows or macOS copy holds the Flutter side of the example.
How to use Flutter II Authentication
This is a developer library, so using it looks more like setting up a project than opening an app. The steps below walk through the example that ships with the repository.
- Clone the repository twice: once inside your WSL Ubuntu environment and once in your Windows or macOS location.
- In the WSL copy, run the commands given in the project's instructions to prepare the example backend.
- Open the Flutter side of the example from the Windows or macOS copy and point it at the backend you just prepared.
- Start the sign-in flow. A WebView window opens so that Internet Identity can complete authentication in the browser context.
- Call the increment method in the Motoko backend while signed in. The method requires a non-anonymous identity, so a call without sign-in will be rejected.
- Read the middle page code next. It shows how the redirect works and where its limitations lie, which helps you decide what to change before adapting the flow to your own app.
Pros & cons
- Free and open source, with the source code available on GitHub
- Keeps authentication logic separate from the user interface
- Covers Windows, macOS, Linux, Android and iOS according to the project
- Includes a concrete Motoko example that tests an authorized call
- Explains the reasoning behind the browser redirect, which aids learning
- The last code update dates from January 2024, so it is more than two years old
- Aimed at developers and requires comfort with Flutter, Dart and Motoko
- Ships no user interface, so you must build all screens yourself
- The middle page is a simple example with acknowledged limitations
- The example setup involves both WSL and a Windows or macOS copy
Is Flutter II Authentication safe?
Get the code only from the project's GitHub repository, and use the official website or GitHub Releases page where a ready-made build is offered. Before running any installer, compare its SHA-256 checksum with the published value, or verify its signature if one is available. Never enter a seed phrase or other secret recovery words on a third-party website, and be cautious about any page that asks for them during sign-in.
The main concern is age. The last code update came in January 2024, more than two years ago, so dependencies and the Internet Identity flow may have changed since then. Read the code before you run it, and check the latest version on the official website.
- Official source only. Download from github.com/somyaranjansahu/flutter-ii-authentication. 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
Flutter II Authentication sits in a different place from most of the similar programs in this catalog. It is a Dart and Flutter library for signing users in with Internet Identity on the Internet Computer, and it has no interface of its own. English offers lessons on writing FunC smart contracts for The Open Network, so it teaches contract development rather than app login.
Powershell Algorand Module is a PowerShell toolkit for working with Algorand, and PSBT Commander is a Rust tool for creating PSBTs with BDK. Related IOHK Address Lib may overlap with address-handling logic. If you are building a Flutter app that needs sign-in on the Internet Computer, this library is the closest fit. If your work centers on another chain or wallet task, the other listed programs will be more relevant.
Specifications
- Price
- Free
- Type
- Open source
- License
- —
- Latest version
- —
- Last update
- 5 Jan 2024
- Windows support
- Yes (Windows build or installer)
- Source code
- github.com/somyaranjansahu/flutter-ii-authentication
Frequently asked questions
Yes. The project is listed as free and open source, and its source code is available on GitHub. There is no purchase required to read or use the code. Keep in mind that the project is a developer library, so you will need to write your own interface and handle your own app setup.
The code itself is public, which makes it possible to review, but safety depends on where you get it and how you run it. Use only the project's GitHub repository, check the SHA-256 checksum or signature when one is available, and never enter a seed phrase on a third-party page. The last update came in January 2024, so review the code carefully before using it in a live project.
Yes. The project lists Windows support and mentions a Windows build or installer. The repository's example setup also uses WSL Ubuntu alongside a Windows or macOS copy. Windows is therefore a supported platform, but you should expect to work with developer tooling rather than a finished end-user program.
Internet Identity is the authentication service for the Internet Computer. It lets a user sign in with an identity tied to an II anchor number, which is stored in the browser. Because the service works through browser windows and postMessage calls, apps built with Flutter need a helper such as this library to complete sign-in.
Internet Identity accepts only browser requests, so a Flutter or mobile app cannot complete the flow alone. The library opens a WebView window through a plugin called flutterwebauth, and a small middle page redirects the authenticating request to Internet Identity. This arrangement respects the browser-based design of the service.
The repository's example setup uses a copy inside WSL Ubuntu alongside a copy in your Windows or macOS location. That arrangement is part of the project's instructions for running the example. If you only want to read the code or adapt the Flutter side, you can work from one location, but you will still need to follow the project's guidance for the backend.
The last code update was made in January 2024, which is more than two years before 2026. That means the project should be treated as a reference or starting point rather than an actively maintained product. Check the GitHub repository for any newer activity before you rely on it.
Verdict
Flutter II Authentication for Windows is a good fit for Flutter developers who want a clear, minimal example of signing in with Internet Identity and calling a Motoko backend. Its clean separation between logic and interface makes it easy to study and adapt. It is not a finished application, and the last code update in January 2024 means you should review the code and dependencies before using it. Learners and prototype builders will get the most value from it.