Avi Networks Okta sdk
项目描述
介绍
提供客户端抽象,以编程方式对 avinetworks Okta 组织中的资源执行 CRUD 操作。
支持的对象
应用
用户
用户组
值得信赖的来源
API 令牌
设计概述
设计理念是让客户端操作达到期望的状态。因此,如果资源 aleady 存在,则在同一资源上调用 create 将简单地返回现有资源。同样,如果资源不存在,删除操作将成功。对不存在的资源调用 get 将引发异常。
返回值
大多数客户端方法将返回资源的 JSON 表示,但少数如删除操作将返回 API 请求的状态码。
使用示例
初始化 API 客户端
客户端通常会使用 API 令牌进行初始化,但如果您需要以编程方式创建 API 令牌,则需要使用用户名和密码进行初始化。
client = AviOktaClient(token='<your API token>')
应用
目前仅支持创建 SAML 应用程序。
app = client.create_app("my-app", "https://my-app.example.com")
app['_created'] # True
app = client.create_app("my-app")
app['_created'] # False
app = client.get_app(label="my-app")
apps = client.list_apps()
client.delete_app(app['id'])
用户
用户创建还将向指定的电子邮件地址发送用户激活电子邮件。应用程序用户资源最多支持十个租户/角色映射,其名称为Tenant<n> 和Role<n>,其中<n>是一个从 1 到 10 的数字。
user = client.create_user("FirstName", "LastName", "example@avinetworks.com")
user = client.get_user(login="example@avinetorks.com")
users = client.list_users()
attrs = {'Tenant1': 'my-tenant', 'Role1': 'Tenant-Admin'}
app_user = client.assign_user_to_app(app['id'], user['id'], attributes=attrs)
client.delete_user(user['id'])
用户组
group = client.create_group('my-group')
group = client.get_group(name='my-group')
groups = client.list_groups()
client.assign_user_to_group(user['id'], group['id'])
client.delete_group(group['id'])
可信来源
trusted_origin = client.create_trusted_origin('My App', 'https://my-app.example.com', cors=False, redirect=True)
API 令牌
创建的令牌将与用于初始化客户端的凭据的用户相关联
token = client.create_token('my-token')