Skip to main content

Authing SDK for Python

Project description

Authing - Python

Authing 身份云 Python 语言客户端,同时支持 Python2 和 Python3,包含 Authing Open API 所有 Management API 的请求方法。

此模块一般用于后端服务器环境,以管理员(Administrator)的身份进行请求,用于管理 Authing 用户、角色、分组、组织机构等资源;一般来说,你在 Authing 控制台中能做的所有操作,都能用此模块完成。

如果你需要以终端用户(End User)的身份进行登录、注册、登出等操作,请使用 Guard .

安装

pip install authing==5.0.0a6

如果你希望使用 V4 版本,请切换到 v4 分支查看文档。

初始化

初始化 ManagementClient 需要使用 accessKeyIdaccessKeySecret 参数:

from authing import ManagementClient

management_client = ManagementClient(
  access_key_id="6250f12d5xxxx69bcfcf784b",
  access_key_secret="4ae78d3e579a6xxxx01aeca7b1e29ec2",
)

ManagementClient 会自动从 Authing 服务器获取 Management API Token,并通过返回的 Token 过期时间自动对 Token 进行缓存。

完整的参数和释义如下:

  • access_key_id: Authing 用户池 ID;
  • access_key_secret: Authing 用户池密钥;
  • timeout: 超时时间,单位为 ms,默认为 10000 ms;
  • host: Authing 服务器地址,默认为 https://api.authing.cn。如果你使用的是 Authing 公有云版本,请忽略此参数。如果你使用的是私有化部署的版本,此参数必填,格式如下: https://authing-api.my-authing-service.com(最后不带斜杠 /)。
  • lang: 接口 Message 返回语言格式(可选),可选值为 zh-CN 和 en-US,默认为 zh-CN。
  • use_unverified_ssl: 不校验 ssl 证书,默认为 false。

快速开始

初始化完成 ManagementClient 之后,你可以获取 ManagementClient 的实例,然后调用此实例上的方法。例如:

  • 获取用户列表
data = management_client.list_users(
    page=1,
    limit=10
)
  • 创建角色
data = management_client.create_role(
  code='admin',
  description='管理员',
  namespace='default'
);

完整的接口列表,你可以在 Authing Open API 中获取。

错误处理

ManagementClient 中的每个方法,遵循统一的返回结构:

  • statusCode: 请求是否成功状态码,当 code 为 200 时,表示操作成功,非 200 全部为失败。
  • apiCode: 细分错误码,当 code 非 200 时,可通过此错误码得到具体的错误类型。
  • message: 具体的错误信息。
  • data: 具体返回的接口数据。

一般情况下,如果你只需要判断操作是否成功,只需要对比一下 code 是否为 200。如果非 200,可以在代码中通抛出异常或者任何你项目中使用的异常处理方式。

data = await management_client.get_user(
  userId="62559df6b2xxxx259877b5f4"
)

status_code, api_code, message = data.get('statusCode'), data.get('apiCode'), data.get('message')
if (status_code !== 200) {
  raise Exception(message); # 抛出异常,由全局异常捕捉中间件进行异常捕捉
}

// 继续你的业务逻辑 ...

私有化部署

如果你使用的是私有化部署的 Authing IDaaS 服务,需要指定此 Authing 私有化实例的 host,如:

from authing import ManagementClient

management_client = ManagementClient(
  access_key_id="6250f12d5xxxx69bcfcf784b",
  access_key_secret="4ae78d3e579a6xxxx01aeca7b1e29ec2",
)

如果你不清楚如何获取,可以联系 Authing IDaaS 服务管理员。

资源

获取帮助

有任何疑问,可以在 Authing 论坛提出: #authing-forum

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

authing-5.0.0a8.tar.gz (15.7 kB view hashes)

Uploaded Source

Built Distribution

authing-5.0.0a8-py3-none-any.whl (14.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page