Yubico Authenticator for Desktop (Windows, macOS and Linux) and Android
Go to file
2022-01-25 12:47:43 +01:00
.github/workflows Linux Actions: Add os version to the artifact name 2021-12-14 15:06:04 +01:00
assets/product-images Add product images. 2021-11-24 13:28:38 +01:00
doc Update README 2021-11-19 10:55:43 +01:00
lib Enable lint check for unawaited_futures. 2022-01-25 12:46:51 +01:00
linux Set initial window size. 2021-12-07 12:41:32 +01:00
macos Replace socket approach with native Windows mutex. 2022-01-21 11:17:02 +01:00
test Remove executable permission from files. 2021-11-19 09:19:16 +01:00
windows Replace socket approach with native Windows mutex. 2022-01-21 11:17:02 +01:00
yubikey-manager@765ccf63d9 Add basic NFC support. 2022-01-18 12:26:31 +01:00
.gitignore Remove executable permission from files. 2021-11-19 09:19:16 +01:00
.gitmodules Add rpc submodule. 2021-11-19 09:08:04 +01:00
.metadata Remove executable permission from files. 2021-11-19 09:19:16 +01:00
analysis_options.yaml Enable lint check for unawaited_futures. 2022-01-25 12:46:51 +01:00
build-ykman.bat Add rpc submodule. 2021-11-19 09:08:04 +01:00
build-ykman.sh Add rpc submodule. 2021-11-19 09:08:04 +01:00
build.yaml Add start of navigation structure. 2021-11-22 14:00:23 +01:00
pubspec.lock Replace socket approach with native Windows mutex. 2022-01-21 11:17:02 +01:00
pubspec.yaml Replace socket approach with native Windows mutex. 2022-01-21 11:17:02 +01:00
README.adoc Update README 2021-11-19 10:55:43 +01:00

== Yubico Authenticator for Desktop

=== Requirements
You will need the Flutter SDK with enabled desktop support, see:
https://flutter.dev/desktop

Development has been done using the "Install from git" method of installing the
SDK, from the "beta" channel.

You will also need to provide a compiled version of the ykman CLI. This can
either be built locally (see the next section), or manually downloaded and
placed in `build/<os>/ykman/`. Builds are available for download from GitHub
Actions in the `yubikey-manager` project.


=== Building the ykman CLI locally
Requirements: Python >= 3.6 and Poetry.

The GUI requires a compiled version of the ykman CLI to run, which is build
using pyinstaller from the yubikey-manager submodule in this repository. The
`build-ykman.sh` (`build-ykman.bat` on Windows) script in this repository will
take care of this, producing a build in `build/<os>/ykman` which will then be
included in the main GUI. See the `yubikey-manager` project documentation for
any build requirements needed in this step.

For faster development when making modifications to the CLI, you can skip the
re-compilation step and instead set the `_YKMAN_PATH` environment variable to
the location of a `ykman` executable to run:

  _YKMAN_PATH="/path/to/ykman.exe" flutter run -d windows


=== Running the app
To start the app, run:

  flutter run -d <os>

where <os> is "windows", "macos", or "linux". You can add the `--release` flag
to run a release build instead of debug. Builds of the app will be create under
`build/<os>/`.


=== Running tests
Tests can be run with the command:

  flutter test


=== Packaging for MacOS
See link:doc/MacOS_Packaging.adoc[MacOS Packaging].