Tokko Auth2风味。

tokko-auth的Python项目详细描述


安装

# Install from PyPi
pip install tokko-auth
# Install from sources# Tokko REPO Permission is required
pip install -e git@github.com:TokkoLabs/authorization.git

导入和配置dj插件

您的项目/设置.py

^{pr2}$

工具(未来)

在future.tools.权限在

用户

检索用户权限

fromtokko_auth.future.tools.permissionsimportPermissionProvider# Provider Initializationprovider=PermissionProvider()# Retrieve user permissionprovider.users.get("user@email.com")

回应:

{
    "user_id": "user@email.com",
    "permissions": [
        "namespace_a:action_1",
        "namespace_b:action_1",
        "namespace_a:action_2"
    ]
}

授予用户权限

fromtokko_auth.future.tools.permissionsimportPermissionProvider# Provider Initializationprovider=PermissionProvider()# Grant permissionprovider.users.grant("user@email.com","namespace-is-required","action-is-required")

回应:

{
  "success": true
}

撤消用户权限

fromtokko_auth.future.tools.permissionsimportPermissionProvider# Provider Initializationprovider=PermissionProvider()# Grant permissionprovider.users.revoke("user@email.com","namespace-is-required","action-is-required")

回应:

{
  "success": true
}

权限

列表权限

fromtokko_auth.future.tools.permissionsimportPermissionProvider# Provider Initializationprovider=PermissionProvider()# Create permissionprovider.permissions.list()# List permissions method also allows filter permissions# by namespace or action partial# provider.permissions.list(partial="nam")# provider.permissions.list(partial="act")

回应:

[{
    "namespace": "namespace",
    "action": "action",
    "permission": "namespace:action",
    "description": "description"
}]

创建权限

fromtokko_auth.future.tools.permissionsimportPermissionProvider# Provider Initializationprovider=PermissionProvider()# Create permissionprovider.permissions.add("namespace-is-required","action-is-required","description-argument-is-optional")

回应:

{
    "namespace": "namespace-is-required",
    "action": "action-is-required",
    "permission": "namespace-is-required:action-is-required",
    "description": "description-argument-is-optional"
}

删除权限

fromtokko_auth.future.tools.permissionsimportPermissionProvider# Provider Initializationprovider=PermissionProvider()# Delete permissionprovider.permissions.delete("namespace-is-required","action-is-required")

回应:

{
  "success": true
}

测试

当地环境

单元测试

python manage.py test authorization.tests.unit

服务测试

python manage.py test authorization.tests.service

Docker环境

单元测试

# Require: docker-compose up [-d] [--build]
docker-compose exec app bash -c "python manage.py test authorization.tests.unit"

使用试验

# Require: docker-compose up [-d] [--build]
docker-compose exec app bash -c "python manage.py test authorization.tests.service"

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么用Jsoup解析后内容不一样   java save方法无法使用Hibernate+Spring保存对象   java如何从JaxWs WebMethod发送Http状态为202的空响应   Java BuffereImage“块”模糊问题   java中的模板CAL集   java MyBatis deleteinsertupdate在一个查询中   在执行下一个方法之前,java将等待线程执行结束   java JTextField无法保存enter字符   java回滚撤消重做   java解析异常的最佳实践。toString()来执行一些逻辑   在Java中完成类的精确副本的构造函数的单元测试   java我无法从LinkedList类调用客户端中的方法   java启动RxJava2可观察。没有初始延迟的间隔()?   添加更多参数时java Mybatis插入失败