Metadata-Version: 2.1
Name: kolibri-desktop-auth-plugin
Version: 0.0.7
Summary: Kolibri plugin for desktop authentication
Home-page: https://github.com/endlessm/kolibri-desktop-auth-plugin
Author: EndlessOS
Author-email: danigm@endless.org
License: MIT
Keywords: kolibri
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: PyPy
Description-Content-Type: text/markdown

# kolibri-desktop-auth-plugin

Authentication backend that allows an HTTP client to authenticate by providing
a desktop user token

# Testing

This is a kolibri plugin, you need to install the python package in the kolibri
python environment using pip and then enable the plugin.

```
 .../kolibri $ pip install -e ../kolibri-desktop-auth-plugin
 .../kolibri $ kolibri plugin enable kolibri_desktop_auth_plugin
```

To test you can launch the fake user info dbus daemon included in this
repository:

```
./fake-dbus-daemon.py
```

After enabling the fake dbus daemon you can try to autologin in your kolibri
with the plugin opening the following url in your browser:

http://localhost:8000/kolibri_desktop_auth_plugin/login/TOKEN1

You can change the TOKEN at the end of the url above to test with different
user data:

 * TOKEN1: adminuser, user with admin rights
 * TOKEN2: eosuser, user without admin rights

You can test also with a non existent token that should redirect to the login
page.

It's also possible to redirect after the authentication passing the next url as
a get parameter to the url, for example:

http://localhost:8000/kolibri_desktop_auth_plugin/login/TOKEN1?next=/learn

# Development

Setup the Python environment:

```
pipenv install
```

Setup pre-commit:

```
pipenv run pre-commit install
```

Enter the Python environment for development:

```
pipenv shell
```


# Releasing

## Creating a release

If you are releasing a new version, use `bump-version` with with `major`, `minor`, or `patch`. For example:

```
yarn bump-version patch
```

This creates a new commit and a git tag. Push this to the remote:

```
git push
git push --tags
```

Create a `.whl` file:

```
python setup.py bdist_wheel --universal
```

Finally, upload the `.whl` file to PyPi:

```
twine check -s dist/*
twine upload -s dist/*
```



