https://github.com/phovea/phovea_security_flask
Security manager implementation based on flask-login
https://github.com/phovea/phovea_security_flask
flask phovea phovea-client-plugin phovea-server-plugin
Last synced: 9 months ago
JSON representation
Security manager implementation based on flask-login
- Host: GitHub
- URL: https://github.com/phovea/phovea_security_flask
- Owner: phovea
- License: bsd-3-clause
- Archived: true
- Created: 2015-08-17T16:36:49.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2021-11-30T07:15:09.000Z (over 4 years ago)
- Last Synced: 2024-09-21T12:04:54.591Z (over 1 year ago)
- Topics: flask, phovea, phovea-client-plugin, phovea-server-plugin
- Language: TypeScript
- Homepage: http://caleydo.org/
- Size: 402 KB
- Stars: 0
- Watchers: 5
- Forks: 1
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
DEPRECATED: phovea_security_flask
=====================
[![Phovea][phovea-image-client]][phovea-url] [![Phovea][phovea-image-server]][phovea-url] [![NPM version][npm-image]][npm-url] [![Build Status][circleci-image]][circleci-url]
Security manager implementation based on [Flask-Login](https://flask-login.readthedocs.io/en/latest/). Additionally, a login module is provided that can be used at client-side.
### DEPRECATION Information
Please note that this project has been archived and is no longer being maintained. There is an active development under https://github.com/datavisyn/tdp_core and we will also contribute our future changes to it.
Installation
------------
```
git clone https://github.com/phovea/phovea_security_flask.git
cd phovea_security_flask
npm install
```
Testing
-------
```
npm test
```
Building
--------
```
npm run build
```
Default users
-------
| Username | Password |
|----------|----------|
| admin | `admin` |
| sam | `sam` |
Add new users
-------
### Config File
New users are added to `phovea_security_flask/config.json`.
The python script `encryptor.py` hashes a given password and prints password, salt, and hashed password.
### Environment Variables
Alternatively, you can provide users via environment variables:
The `UserStore` class in `phovea_security_flask/dummy_store.py` reads all environment variables starting with `PHOVEA_USER_` and uses the remainder of the enviroment variable key as username. The environment variable's key has to contain: `SALT;HASHED_PW;ROLE1` (multiple roles can be added by seperating them with a semicolon), e.g.:
```
export PHOVEA_USER_bruce.banner="08c52b567cb947c98be6de6e9ad3919f;2c946ca1b8574d506ee5e7b3b22e350bc8c93b9df647d17e4429e727529c63a62d1fb274ca5a7499bd33c0844e437631728ee9fcba14b41204f21ec8cda523f7;avenger;scientist
```
Defines the following user:
* Username: `bruce.banner`
* Salt: `08c52b567cb947c98be6de6e9ad3919f`
* Hashed password: `2c946ca1b8574d506ee5e7b3b22e350bc8c93b9df647d17e4429e727529c63a62d1fb274ca5a7499bd33c0844e437631728ee9fcba14b41204f21ec8cda523f7`
* Roles: `avenger, scientist`
**NOTE:** User credentials defined as environment variables override all users defined in the `config.json`. This behaviour can be used to define development users inside the `config.json`, and provide users for production via environment variables when deployed.
***
This repository is part of **[Phovea](http://phovea.caleydo.org/)**, a platform for developing web-based visualization applications. For tutorials, API docs, and more information about the build and deployment process, see the [documentation page](http://phovea.caleydo.org).
[phovea-image-client]: https://img.shields.io/badge/Phovea-Client%20Plugin-F47D20.svg
[phovea-image-server]: https://img.shields.io/badge/Phovea-Server%20Plugin-10ACDF.svg
[phovea-url]: https://phovea.caleydo.org
[npm-image]: https://badge.fury.io/js/phovea_security_flask.svg
[npm-url]: https://npmjs.org/package/phovea_security_flask
[circleci-image]: https://circleci.com/gh/phovea/phovea_security_flask.svg?style=shield
[circleci-url]: https://circleci.com/gh/phovea/phovea_security_flask