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.1a2.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.1a2-py3-none-any.whl (26.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: neon-users-service-0.0.1a2.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.1a2.tar.gz
Algorithm Hash digest
SHA256 777037fefaffffc2b5cbdacfded72978dbe2020145a0edfa6f3236f79d1df902
MD5 1b1d5032164b4569f1ee84b3625fee33
BLAKE2b-256 2cca05e2441acfe61da8c15f97b8def240a25cc2793e98cace3c6b58fdf430b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for neon_users_service-0.0.1a2-py3-none-any.whl
Algorithm Hash digest
SHA256 b1c5f90f424880aa28baaa3a35904469ca391f9f0b9139498c0047535f7832ce
MD5 d97770f1f0f4b4c53425b9af6c4afa41
BLAKE2b-256 c7e7928cee8477b72a4684f7abe5ba1609b6f3230e985a36b86aa0badcacd23f

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