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.1a6.tar.gz (26.2 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.1a6-py3-none-any.whl (30.3 kB view details)

Uploaded Python 3

File details

Details for the file neon_users_service-0.0.1a6.tar.gz.

File metadata

  • Download URL: neon_users_service-0.0.1a6.tar.gz
  • Upload date:
  • Size: 26.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for neon_users_service-0.0.1a6.tar.gz
Algorithm Hash digest
SHA256 bd0b98217b8cf4425c6bf0be9b8890f7b2fc6e024e20be9926fda487327d1c10
MD5 f662058a55a2fe515a91f4cdc2332696
BLAKE2b-256 1692e8f9249965d67e2731cf97f31fe88e6fc6da833d5dad4ff53680d550921a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for neon_users_service-0.0.1a6-py3-none-any.whl
Algorithm Hash digest
SHA256 49ff7fadddfddaf5a4d14af8192d7492bedffbe83f452f892466914f15ca2b09
MD5 0010edbad3d4fc7767a662dfb66b794b
BLAKE2b-256 16df0b40b843f0cc526d628306173eabca602131553471c2087a2a7a6e7c1f86

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