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"
- 项目
标签: