mirror of
https://github.com/Yubico/yubioath-flutter.git
synced 2024-11-29 04:14:52 +03:00
63 lines
2.0 KiB
Plaintext
63 lines
2.0 KiB
Plaintext
== Project outline
|
|
|
|
Yubico Authenticator is a Qt5 application written in QML that uses the plugin PyOtherSide to enable
|
|
the backend logic to be written in Python 3. The python library yubikey-manager is needed to communicate with the YubiKey,
|
|
and may be installed from pip or other package managers. If a specific version, (or branch or commit) is needed for development,
|
|
point to that version in requirements.txt.
|
|
|
|
|
|
== Build requirements
|
|
|
|
Yubico Authenticator currently requires Qt version 5.12 or higher.
|
|
|
|
== Working with the code
|
|
|
|
=== Install dependencies
|
|
|
|
It's assumed a Python environment with pip is installed.
|
|
|
|
==== Windows
|
|
Install https://www.qt.io/download[Qt5]. Build and install the Qt5 plugin http://pyotherside.readthedocs.io/en/latest/#building-pyotherside[PyOtherSide].
|
|
Make sure the http://www.swig.org/[swig] executable is in your PATH. Add http://libusb.info/[libusb] and https://developers.yubico.com/yubikey-personalization/[ykpers] DLLs to
|
|
the root of the repository of ykman (after setting up the project).
|
|
|
|
==== macOS
|
|
|
|
$ brew install python3 swig ykpers libusb qt
|
|
# Allow access to qmake - see https://superuser.com/a/1153338/104372
|
|
$ brew link qt --force
|
|
|
|
Build and install the Qt5 plugin http://pyotherside.readthedocs.io/en/latest/#building-pyotherside[PyOtherSide].
|
|
|
|
==== Linux (Debian-based distributions)
|
|
|
|
$ sudo add-apt-repository -y ppa:yubico/stable
|
|
$ sudo apt update
|
|
$ sudo apt install python3-yubikey-manager
|
|
|
|
Install Qt 5.12+ with offical installer.
|
|
Build and install the Qt5 plugin http://pyotherside.readthedocs.io/en/latest/#building-pyotherside[PyOtherSide]
|
|
|
|
=== Setup the repository
|
|
|
|
$ git clone https://github.com/Yubico/yubioath-desktop.git
|
|
$ cd yubioath-desktop
|
|
|
|
=== Compile the app
|
|
|
|
$ qmake && make
|
|
|
|
=== Run the app:
|
|
|
|
$ yubioath-desktop
|
|
|
|
== Code Style & Linting
|
|
|
|
This project uses http://flake8.pycqa.org/[Flake8] (for the python parts) and qmllint
|
|
(for the QML parts) for code style with a http://pre-commit.com/[pre-commit] hook.
|
|
|
|
To use these:
|
|
|
|
$ pip install pre-commit flake8
|
|
$ pre-commit install
|