跳转到主要内容

Django NATS Nkey是一个Django应用,用于同步Django超级用户、账户和用户与基于NATS nkey的身份验证/授权方案

项目描述

Django Nats NKEYS

image image image image image image image image

NATS是一个基于消息服务的基础设施平台。

此Django应用将NATS的多租户账户范式Django Organizations集成。

使用NATS nsc工具来管理操作员、账户和用户的JWT。

快速入门

  1. pip install django-nats-nkeys[drf]

  2. 将其添加到您的INSTALLED_APPS设置中

    INSTALLED_APPS = [
        ...
        "organizations",
        "django_extensions",
        "django_nats_nkey",
    ]
    
  3. 运行python manage.py migrate以创建NATS组织模型

  4. 运行python manage.py nsc-init(可选)初始化新的NATS操作员。您负责将生成的.conf文件复制到您的NATS服务器。如果您选择使用现有的操作员,您负责在部署前运行nsc pull

贡献者指南

  1. 创建开发环境(需要docker & docker-compose)

    make docker-up
    make nsc-init
    
  2. 运行测试并生成覆盖率报告

    make pytest
    
  3. 运行black代码检查器

    make lint
    

设置

基本设置

NATS_NSC_DATA_DIR(默认:"/var/lib/nats/nsc/stores"$NSC_STORE环境变量)NATS_NSC_CONFIG_DIR(默认:"/var/lib/nats/nsc/config"$NSC_HOME环境变量)NATS_NSC_KEYSTORE_DIR(默认:"/var/lib/nats/nsc/keys"$NKEYS_PATH环境变量)NATS_SERVER_URI(默认:"nats://nats:4222"NATS_NKEYS_IMPORT_DIR(默认:".nats/"NATS_NKEYS_EXPORT_DIR(默认:".

重试模式

NATS_NSC_RETRY_MODE (默认值 "STRICT",允许的值:"STRICT" 或 "IDEMPOTENT")

STRICT 模式下,如果 nsc add ... 命令返回 "已存在" 错误,将引发 django_nats_nkey.errors.NscConflict。您需要实现一个单独的过程来处理 Django 模型与 nsc 环境之间的最终一致性。

IDEMPOTENT 模式下,冲突将以 WARNING 级别记录,但不会引发 Exception。在此模式下,nsc add 命令可能会多次重试,如果资源已存在,则不会执行任何操作。

组织模型

NATS_ORGANIZATION_MODEL (默认值: "django_nats_nkeys.NatsOrganization")

  • 必须继承 django_nats_nkeys.models.NatsOrganization

NATS_ORGANIZATION_OWNER_MODEL (默认值: "django_nats_nkeys.NatsOrganizationOwner")

  • 必须继承 django_nats_nkey.models.NatsOrganizationOwner

NATS_ORGANIZATION_APP_MODEL (默认值: "django_nats_nkey.NatsOrganizationApp")

  • 必须继承 django_nats_nkey.models.AbstractNatsApp

NATS_ORGANIZATION_USER_MODEL (默认值: "django_nats_nkeys.models.NatsOrganizationUser")

  • 必须继承 django_nats_nkeys.models.NatsOrganizationUser

机器人/自动化模型

NATS_ROBOT_APP_MODEL (默认值: "django_nats_nkeys.NatsRobotApp")

NATS_ROBOT_ACCOUNT_MODEL (默认值: "django_nats_nkeys.NatsRobotAccount")

应用程序模型

NATS_APP_MODELS (默认值: [ "django_nats_nkey.NatsOrganizationApp" , "django_nats_nkeys.NatsRobotApp" ])

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪一个,请了解有关 安装包 的更多信息。

源分发

django_nats_nkeys-0.10.1.tar.gz (28.0 kB 查看哈希)

上传时间

构建分发

django_nats_nkeys-0.10.1-py3-none-any.whl (822.6 kB 查看哈希)

上传时间 Python 3

由以下支持