跳转到主要内容

Apache Custos Python SDK

项目描述

Apache Custos Python SDK

Apache Custos Python SDK,供第三方客户端与Custos中间件集成

目录结构

  • custos

    包括由protoc编译器生成的gRPC存根。主要包含数据模型和函数。您可能需要导入数据模型包以与客户端集成。

  • clients

    包括集成客户端,您想要导入并与您的代码集成以访问Custos中间件。

  • samples

    包括一组集成客户端的示例实现,以演示与Custos中间件的集成

  • transport

    包括连接处理类

集成前

  • 创建虚拟环境

    python3 -m venv venv
    
  • 激活虚拟环境

    source venv/bin/activate
    
  • 安装依赖项

    pip install -r requirements.txt
    
  • 创建包含服务器配置详情的INI文件。有关更多信息,请参阅默认设置文件

    settings.ini

生成分发存档(可选)

您可以生成*.tar.gz或.whl分发文件并安装到任何外部项目。

  • 创建虚拟环境

    python3 -m venv venv
    
  • 激活虚拟环境

    source venv/bin/activate
    
  • 请确保您已安装最新版本的setuptools和wheel

    pip install  wheel
    
  • 现在从setup.py所在的目录运行此命令

    python3 setup.py sdist bdist_wheel
    
  • 此命令应输出大量文本,完成后应在dist目录中生成两个文件

    dist/
        custos_python_sdk-1.0.0-py3-none-any.whl
        custos-python-sdk-1.0.0.tar.gz
    

您应该能够将这些包安装到您的项目中。

与您的客户端集成

用于访问custos API的令牌有三种类型。

  • 客户端令牌(Base64编码的Custos_Client_Id + ":" + Custos_Client_Sec)

  • 管理员令牌(管理员用户访问令牌)

  • 用户令牌(普通用户访问令牌)

  • tenant_management_client

    • create_admin_tenant (client_name, requester_email, admin_frist_name, admin_last_name, admin_email, admin_username, admin_password, contacts, redirect_uris, client_uri, scope, domain, logo_uri, comment)
    • create_tenant (client_token, client_name, requester_email, admin_frist_name, admin_last_name, admin_email, admin_username, admin_password, contacts, redirect_uris, client_uri, scope, domain, logo_uri, comment)
    • get_credentials (client_token)
    • get_tenant (client_token, client_id)
    • update_tenant (client_token, client_id, client_name, requester_email, admin_frist_name, admin_last_name, admin_email, admin_username, admin_password, contacts, redirect_uris, client_uri, scope, domain, logo_uri, comment)
    • delete_tenant (client_token, client_id)
    • add_tenant_roles (client_token, roles, is_client_level)
    • add_protocol_mapper (client_token, roles, is_client_level)
    • get_child_tenants ( client_token, offset, limit, status)
    • get_all_tenants ( client_token, email)

示例实现可以在 tenant_management_samples 找到

  • identity_management_client

    • authenticate(client_token, username, password)
    • is_authenticated( client_token, user_access_token, username)
    • get_service_account_access_token( client_token)
    • authorize( client_id, redirect_uri, response_type, scope, state)
    • token( client_token, redirect_uri, code)
    • get_credentials( client_token, client_id)
    • get_oidc_configuration( client_token, client_id)

示例实现可以在 identity_management_sample 找到

  • user_management_client

    • register_user(client_token, username, first_name, last_name, password, email, is_temp_password)
    • register_and_enable_users( admin_token, users)
    • add_user_attributes( user_token, attributes, users)
    • delete_user_attributes( user_token, attributes, users)
    • enable_user( client_token, username)
    • add_roles_to_users( admin_token, usernames, roles, is_client_level)
    • is_user_enabled( client_token, username)
    • is_username_available( client_token, username)
    • get_user( client_token, username)
    • find_users( client_token, offset, limit, username=None, firstname=None, lastname=None, email=None)
    • reset_password( client_token, username, password)
    • delete_user( admin_token, username)
    • delete_user_roles( admin_token, username, client_roles, realm_roles)
    • update_user_profile( user_token, username, email, first_name, last_name)

示例实现可以在 user_management_samples 找到

  • super_tenant_management_client

    • get_all_tenants( super_admin_token, offset, limit, status)
    • update_tenant_status( super_admin_token, client_id, status)

项目详情


下载文件

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

源分布

此版本没有可用的源分布文件。请参阅 生成分布存档的教程

构建分布

custos_sdk-1.0.18-py3-none-any.whl (173.2 kB 查看散列)

上传 Python 3

由以下机构支持