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.1a5.tar.gz (22.3 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.1a5-py3-none-any.whl (27.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for neon-users-service-0.0.1a5.tar.gz
Algorithm Hash digest
SHA256 0627597aad5b79d7928cc1b59dd957b8953e68bc2afff232693f48e3b865a43a
MD5 a71b8856657815ab721ba140b5f2350b
BLAKE2b-256 6c07c5ce224430885b504efb238f0a93971d1eddff57241a2628d345558ff6c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for neon_users_service-0.0.1a5-py3-none-any.whl
Algorithm Hash digest
SHA256 45c33a7f7aa50de2d454902de488501401d1fcd3c03a45596b8735e8fe371297
MD5 90e3bbaec1a720f0a61dd742a403791d
BLAKE2b-256 1221a84866c2e3d68835f7a95e64b39b05d7878ba6514db62f05fb7026627f47

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