Skip to main content

Neon User Management Module

Project description

Neon Users Service

This module manages access to a pluggable user database backend. By default, it operates as a standalone module using SQLite as the persistent data store.

Configuration

Configuration may be passed directly to the NeonUsersService constructor, otherwise it will read from a config file using ovos-config. The configuration file will be ~/.config/neon/diana.yaml by default. An example valid configuration is included:

neon_users_service:
  module: sqlite
  sqlite:
    db_path: ~/.local/share/neon/user-db.sqlite

module defines the backend to use and a config key matching that backend will specify the kwargs passed to the initialization of that module.

MQ Integration

The mq_connector module provides an MQ entrypoint to services and is the primary method of interaction with this service. Valid requests are detailed below. Responses will always follow the form:

success: False
error: <string description>
success: True
user: <serialized User object>

Create

Create a new user by sending a request with the following parameters:

operation: create
username: <new_username>
password: <new_password>
user: <Optional serialized User object, else default will be created>

Read

Read an existing user. If password is not supplied, then the returned User object will have the password_hash and tokens config redacted.

operation: read
username: <existing_username>
password: <existing_password>

Update

Update an existing user. If a password is supplied, it will replace the user's current password. If no password is supplied and user.password_hash is updated, the database entry will be updated with that new value.

operation: update
username: <existing_username>
password: <optional new password>
user: <updated User object>

Delete

Delete an existing user. This requires that the supplied user object matches an entry in the database exactly for validation.

operation: delete
username: <username_to_delete>
user: <User object to delete>

Licensing

This project is free to use under the GNU Affero General Public License. Contact info@neon.ai for commercial licensing options.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neon-users-service-0.0.1a4.tar.gz (22.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

neon_users_service-0.0.1a4-py3-none-any.whl (26.7 kB view details)

Uploaded Python 3

File details

Details for the file neon-users-service-0.0.1a4.tar.gz.

File metadata

  • Download URL: neon-users-service-0.0.1a4.tar.gz
  • Upload date:
  • Size: 22.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for neon-users-service-0.0.1a4.tar.gz
Algorithm Hash digest
SHA256 ff1e7d8483e545cb30bac2ca170aee5ad044c6faeccd68ad81c105bc7b469a32
MD5 688ba60dba727cb69e1736ebebe8f35f
BLAKE2b-256 b4d5228672eaacd4166f9babec19b1a603291f463b71ca1a93a1357e2bfa743d

See more details on using hashes here.

File details

Details for the file neon_users_service-0.0.1a4-py3-none-any.whl.

File metadata

File hashes

Hashes for neon_users_service-0.0.1a4-py3-none-any.whl
Algorithm Hash digest
SHA256 9e6b8116d97c79e375d8c6d71df25ad32d4cccc873d8e7fe7505e76c87432f0f
MD5 d141e521d28f844aa08e18d8f4f6ec00
BLAKE2b-256 84146601612fc2e210acdfd88c0403c2c9c2e9443f8facded83c6d7c886a2103

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page